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