[ 
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]

Reply via email to