jpountz opened a new pull request, #14312:
URL: https://github.com/apache/lucene/pull/14312

   This is an attempt to resurrect #12194 in a (hopefully) better way. Now that 
many queries run with `DenseConjunctionBulkScorer`, which scores windows of doc 
IDs at a time, it becomes natural to skip clauses that have long runs of 
matches by checking if they match the whole window.
   
   This introduces the same `DocIdSetIterator#peekNextNonMatchingDocID()` API 
that PR #12194 suggested, implements it in `DocIdSetIterator#all`, and uses it 
in `DenseConjunctionBulkScorer` to skip clauses that match the whole window.
   
   For better test coverage, `DenseConjunctionBulkScorer` was refactored to 
require at least one iterator, which can be a `DocIdSetIterator#all` instance 
if all docs match.
   
   In follow-ups, we should look into supporting other queries that are likely 
to have long runs of matches, in particular doc-value range queries on fields 
that are part of the index sort and take advantage of a doc-value skipper.
   
   Closes #11915


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

Reply via email to