Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When an OR clause in a query tree has negations in that subtree and does not have a document which matches the query, the BooleanLogicIterator cannot ascertain whether that subtree has more results to search or whether the subtree is exhausted.
eg. if we search for
(field1 == 'a' && field2 != 'a') || (field2 == 'a' && field1 != 'a')
and say DOC1 has both field1 and field2 equal to 'a', BooleanLogicIterator cannot determine whether it needs to call next() to find more reults ore whether to set its own topKey to null and quit.