[ https://issues.apache.org/jira/browse/LUCENE-9628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242585#comment-17242585 ]
Adrien Grand commented on LUCENE-9628: -------------------------------------- bq. In BooleanWeight#bulkScorer, we check if score mode is TOP_SCORES and if so, force non-bulk scoring. Should we expand this to include modes like TOP_DOCS? I think so. DefaultBulkScorer seems to be the only bulk scorer which knows how to deal with {{LeafCollector#competitiveIterator}}, so we seem to be disabling the numeric sort optimization with boolean queries today? Let's switch to ScoreMode#isExhaustive? What do you think [~mayyas]? bq. In ConstantScoreQuery, we create the delegate weight with a hardcoded COMPLETE_NO_SCORES. I'm not sure it actually causes problems, but it seems like this doesn't handle TOP_DOCS correctly. I suspect that this could be a problem if the wrapped query uses the ScoreMode as an indication of whether it will need to handle {{LeafCollector#competitiveIterator}} or not, which seems to be something we'd like to do for boolean queries since BS1 (BooleanScorer) only really makes sense if we know we're going to collect all matches. I think it'd be helpful if we improved ScoreMode javadocs to be more explicit regarding the expectations we have on scorers. TOP_SCORES mentions the relationship with {{Scorer#setMinCompetitiveScore}}, we should add something similar to TOP_DOCS and TOP_DOCS_WITH_SCORES regarding bulk scorers and {{LeafCollector#competitiveIterator}}? > Make sure to account for ScoreMode.TOP_DOCS in queries > ------------------------------------------------------ > > Key: LUCENE-9628 > URL: https://issues.apache.org/jira/browse/LUCENE-9628 > Project: Lucene - Core > Issue Type: Test > Components: core/search > Reporter: Julie Tibshirani > Priority: Minor > > I noticed a few places where we are directly check the {{ScoreMode}} type > that should perhaps be generalized. These could affect whether numeric sort > optimization is applied: > * In {{BooleanWeight#bulkScorer}}, we check if score mode is {{TOP_SCORES}} > and if so, force non-bulk scoring. Should we expand this to include modes > like {{TOP_DOCS}}? > * In {{ConstantScoreQuery}}, we create the delegate weight with a hardcoded > {{COMPLETE_NO_SCORES}}. I'm not sure it actually causes problems, but it > seems like this doesn't handle {{TOP_DOCS}} correctly. > Apologies this issue isn’t more precise – I am not up-to-speed on the numeric > sort optimization but wanted to raise these in case they’re helpful. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org