[
https://issues.apache.org/jira/browse/LUCENE-3451?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uwe Schindler updated LUCENE-3451:
----------------------------------
Attachment: LUCENE-3451.patch
Patch that also disallows only negative clauses in BooleanQuery and
BooleanFilter.
- For BF this check is done in getDocIdSet that throws UOE
- For BQ this check is done in ctor of BooleanWeight where the clauses are
enumerated and counted, so the check is just an additional low-cost check.
Currently 2 core tests with DisjunctionMaxQuery fail (have to look into it,
maybe they simply test the broken behaviour). Solr tests pass without problems
(as Solr already has a special handling in QueryUtils).
> Remove special handling of pure negative Filters in BooleanFilter, disallow
> pure negative queries in BooleanQuery
> -----------------------------------------------------------------------------------------------------------------
>
> Key: LUCENE-3451
> URL: https://issues.apache.org/jira/browse/LUCENE-3451
> Project: Lucene - Java
> Issue Type: Bug
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
> Fix For: 4.0
>
> Attachments: LUCENE-3451.patch, LUCENE-3451.patch
>
>
> We should at least in Lucene 4.0 remove the hack in BooleanFilter that allows
> pure negative Filter clauses. This is not supported by BooleanQuery and
> confuses users (I think that's the problem in LUCENE-3450).
> The hack is buggy, as it does not respect deleted documents and returns them
> in its DocIdSet.
> Also we should think about disallowing pure-negative Queries at all and throw
> UOE.
--
This message is automatically generated by JIRA.
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]