[
https://issues.apache.org/jira/browse/SOLR-5231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13763752#comment-13763752
]
Robert Muir commented on SOLR-5231:
-----------------------------------
The bug is BoolField.BoolDocValues.
look at its implementation of boolVal.
If there are no values in the segment at all "trueOrd" is -1 (which is bogus).
{noformat}
Index: solr/core/src/java/org/apache/solr/schema/BoolField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/BoolField.java (revision
1521538)
+++ solr/core/src/java/org/apache/solr/schema/BoolField.java (working copy)
@@ -182,7 +182,8 @@
}
}
- final int trueOrd = tord;
+ // if there were no values in the segment, dont let trueOrd be -1 (missing)
+ final int trueOrd = tord >= 0 ? tord : -2;
return new BoolDocValues(this) {
@Override
{noformat}
> 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?)
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-5231
> URL: https://issues.apache.org/jira/browse/SOLR-5231
> Project: Solr
> Issue Type: Bug
> Affects Versions: 4.4
> Reporter: Hoss Man
>
> 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)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]