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

Adrien Grand commented on LUCENE-10224:
---------------------------------------

We've tried to make MultiCollector work when collecting documents by top 
scores, but I fear we tried to be too heroic. When you have multiple 
collectors, it's usually because they do something different. It's very 
unlikely that you have two top-docs collectors with the exact same sort 
criteria? Maybe we should just make MultiCollector dumb about these dynamic 
pruning optimizations and convert TOP_SCORES to COMPLETE, and TOP_DOCS to 
COMPLETE_NO_SCORES?

> MultiCollector to control skipping docs on field sort
> -----------------------------------------------------
>
>                 Key: LUCENE-10224
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10224
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Mayya Sharipova
>            Priority: Minor
>
> Currently MultiCollector::MultiLeafCollector doesn't implement 
> competitiveIterator;  so it doesn't have an ability to skip non-competitive 
> documents on field sort.  Check when it is useful to have this ability : 1) 
> e.g. when MultiCollector contains only a single sub-collector 2) when 
> multiple sub-collectors have the same sort fields
> Another thing we need to do  is to disable skipping functionality of all 
> sub-collectors if the combined scoreMode of MultiCollectors is 
> scoreMode.isExhaustive() == true. Because currently is one of sub-collectors 
> is TopFieldCollector and its scoreMode is not exhaustive, it will update its 
> competitiveIterator when its hits threshold is reached, even though we will 
> never end up using this competitiveIterator, so useless work is done here.
> Relates to https://issues.apache.org/jira/browse/LUCENE-9280



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to