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

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.2, 4.3, 4.3.1, 4.4
    • Fix Version/s: 4.5, 6.0
    • Component/s: None
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: