[ 
https://issues.apache.org/jira/browse/LUCENE-4300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Muir updated LUCENE-4300:
--------------------------------

    Attachment: LUCENE-4300.patch

updated patch: I beefed up the random tests and also added 2 standalone tests 
(one for minNrShouldMatch == 1, the other for prohibited clauses).
                
> BooleanQuery inconsistently applies coord() if it rewrites itself
> -----------------------------------------------------------------
>
>                 Key: LUCENE-4300
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4300
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>             Fix For: 5.0, 3.6.2, 4.0
>
>         Attachments: LUCENE-4300.patch, LUCENE-4300.patch, LUCENE-4300.patch
>
>
> Tripped by the new random sim from LUCENE-4297:
> The basics are this:
> * BooleanQuery has the following rewrite():
> {code}
>   public Query rewrite(IndexReader reader) throws IOException {
>     if (minNrShouldMatch == 0 && clauses.size() == 1) {                    // 
> optimize 1-clause queries
> {code}
> * you have a coord() impl that doesnt return 1.0 if overlap == maxOverlap, 
> particularly:
> {code}
> return overlap / ((float)maxOverlap + 1);
> {code}
> * TestBooleanMinShouldMatch.testRandomQueries generates random boolean 
> queries (Q1), then compares the scores of the random query to the same query 
> but with minNrShouldmatch applied to its should clauses (Q2)
> * in the case of a single term BQ, the rewrite applies to Q1, making it a 
> term query, but not to Q2. so the coord() only gets called for Q2, not Q1. 
> and with this crazy coord it means the scores are different.
> I think the rewrite is wrong, we should also rewrite single-query BQs where 
> minNrShouldMatch = 1 and there is a single optional clause.

--
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to