[
https://issues.apache.org/jira/browse/LUCENE-3609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13159543#comment-13159543
]
Uwe Schindler commented on LUCENE-3609:
---------------------------------------
bq. not sure why the bool filter does not return null if it match nothing
This does not matter, processing is the same. DocIdSet.EMPTY_DOCIDSET has same
effect like null in Lucene's internals (there are checks handling those special
values). In my opinion we should disallow null as return value in filters
completely.
The attached patch is the easy fix that does exactly the same like before, but
it's indeed less efficient as it would return an empty FixedBitSet. So a
shortcut would be nice.
It can of course still happen that a clause returns an empty BitSet, but then
the code would still work correct (but without short circuit).
> BooleanFilter changed behavior in 3.5, no longer acts as if "minimum should
> match" set to 1
> -------------------------------------------------------------------------------------------
>
> Key: LUCENE-3609
> URL: https://issues.apache.org/jira/browse/LUCENE-3609
> Project: Lucene - Java
> Issue Type: Bug
> Components: core/search
> Affects Versions: 3.5
> Reporter: Shay Banon
> Assignee: Uwe Schindler
> Attachments: LUCENE-3609.patch
>
>
> The change LUCENE-3446 causes a change in behavior in BooleanFilter. It used
> to work as if minimum should match clauses is 1 (compared to BQ lingo), but
> now, if no should clauses match, then the should clauses are ignored, and for
> example, if there is a must clause, only that one will be used and returned.
> For example, a single must clause and should clause, with the should clause
> not matching anything, should not match anything, but, it will match whatever
> the must clause matches.
> The fix is simple, after iterating over the should clauses, if the aggregated
> bitset is null, return null.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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]