Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-5231

When a boolean field is missing from a doc it is sometimes treated as "true" by the "if" function (based on other docs in segment?)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.2, 4.3, 4.3.1, 4.4
    • 4.5, 6.0
    • None
    • None

    Description

      This issue is hard to explain with out a long example.

      crux of the problem is that the behavior of the if function, wrapped arround a boolean field (ie: "if(fieldName,x,y)" ) is not consistent for documents that do not have any value for that functio – the behavior seems to depend on whether or not other documents in the same segment have a value for that field.

      for brevity, details will follow in a comment - but i've been able to reproduce on trunk, 4.3, and 4.3 (didn't look back farther then that)

      the work around is to explicitly use the exists() function in the if condition (ie: "if(exists(fieldName),x,y)" )

      (Thanks to Elodie Sannier for reporting the initial symptoms of this on the mailing list)

      Attachments

        1. SOLR-5231.patch
          2 kB
          Chris M. Hostetter

        Issue Links

          Activity

            People

              hossman Chris M. Hostetter
              hossman Chris M. Hostetter
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: