lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1974) BooleanQuery can not find all matches in special condition
Date Tue, 13 Oct 2009 23:17:33 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765303#action_12765303
] 

Robert Muir commented on LUCENE-1974:
-------------------------------------

Hoss man, i played with this a little, maybe this is all obvious tho
* test passes if you set BooleanQuery.setAllowDocsOutOfOrder(false) [its booleanscorer, not
booleanscorer2]
* to simplify things, you can use ConstantScoreQuery of a single term instead of PrefixQuery
to trigger it

agree with the comment in the original test, if you trace the execution, the problem is it
doesnt actually refill the queue with his second doc (which is docid 11,000 or something).
this is because .score() is being called on the subscorer with an end limit of 8192 or so.

{code}
// refill the queue
      more = false;
...
        if (subScorerDocID != NO_MORE_DOCS) {
          more |= sub.scorer.score(sub.collector, end, subScorerDocID);
 ...   
    } while (current != null || more);
{code}



> BooleanQuery can not find all matches in special condition
> ----------------------------------------------------------
>
>                 Key: LUCENE-1974
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1974
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Query/Scoring
>    Affects Versions: 2.9
>            Reporter: tangfulin
>            Assignee: Michael McCandless
>         Attachments: BooleanQueryTest.java, LUCENE-1974.test.patch, LUCENE-1974.test.patch
>
>
> query: (name:tang*)
> doc=5137 score=1.0  doc:Document<stored,indexed<name:tangfulin>>
> doc=11377 score=1.0  doc:Document<stored,indexed<name:tangfulin>>
> query: name:tang* name:notexistnames
> doc=5137 score=0.048133932  doc:Document<stored,indexed<name:tangfulin>>
> It is two queries on the same index, one is just a prefix query in a
> boolean query, and the other is a prefix query plus a term query in a
> boolean query, all with Occur.SHOULD .
> what I wonder is why the later query can not find the doc=11377 doc ?
> the problem can be repreduced by the code in the attachment .

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message