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

Michael McCandless commented on LUCENE-2684:
--------------------------------------------

bq. BS1 completely violates the scorer interface, the only method you can call 
is the one taking a Collector. In my opinion, BS1 should not implement the 
Scorer interface, that the whole bug!

Well let's remember that the "must have doc-at-once scoring, for all subs too" 
is a very rare use-case.

The vast majority of users just need a fast .score(Collector) interface.

But yeah I agree: it should be strongly typed, and BS1 should only implement 
the .score(Collector) interface.  The ScoresDocAtOnce interface can easily 
implement the .score(Collector) interface (as Scorer does today...).
                
> it's not possible to access sub-query's freq information if BooleanScorer is 
> use
> --------------------------------------------------------------------------------
>
>                 Key: LUCENE-2684
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2684
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/search
>            Reporter: Michael McCandless
>             Fix For: 4.1
>
>
> LUCENE-2590 added an advanced feature, allowing an app to gather all 
> sub-scorers for any Query.
> This is powerful because then, during collection, the app can get some 
> details about how each sub-query "participated" in the overall match for the 
> given document.
> However, I think this is completely broken if the BooleanQuery uses 
> BooleanScorer, because that scorer is not doc-at-once.  Instead, it batch 
> processes chunks of 2048 sequential docIDs per scorer.  This is a big 
> performance gain, but it means that the sub scorers will all be positioned to 
> the end of the 2048 doc chunk while the docs that matched within that chunk 
> are collected.
> I don't think we can easily fix this... likely the "fix" is to make it 
> easy(ier) to force BQ to use BooleanScorer2 (which is doc-at-once)?  It is 
> actually possible to force this, today, by having your collector return false 
> from acceptDocsOutOfOrder...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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