jpountz opened a new pull request, #14293: URL: https://github.com/apache/lucene/pull/14293
Even though there is a single clause, it often needs to be intersected, either with live docs or with the collector's competitive iterator. This uses `DenseConjunctionBulkScorer` for: - `MatchAllDocsQuery`, - `TermQuery` when scores are not needed and `docFreq >= maxDoc / 32`, - some constant-score queries including `PointRangeQuery` when `cost >= maxDoc / 32`. In addition, - `DenseConjunctionBulkScorer` was improved to stop collecting hits when the min competitive score is greater than the configured constant score, - Added test coverage to sorting tests to make sure that their competitive iterators are happy with how `DenseConjunctionBulkScorer` reads ahead. The downside of this change is that it forces the impacted queries to score at least 4096 (the window size) docs at once. So queries that can start skipping very early (and which are thus very fast) may see a slowdown (e.g. `TermMonthSort`). On the other hand, when it takes time before dynamic pruning becomes effective, there could be a speedup thanks to the more efficient intersection logic (e.g. `TermDTSort`). This change should also help in the presence of deleted docs, by taking advantage of the more efficient way how deleted docs are applied in this bulk scorer. Closes #14283 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org