kkewwei opened a new issue, #16668: URL: https://github.com/apache/lucene/issues/16668
### Description `ReqExclBulkScorer` currently processes prohibited documents using a leapfrog loop. It scores required documents up to the next excluded document, advances the prohibited iterator, and repeats. This works well for sparse prohibited clauses. However, it becomes expensive when the prohibited side is dense, especially when it is a disjunction of multiple high-frequency terms. `docIDRunEnd()` only helps when the iterator can expose a consecutive run of matching document IDs. Dense disjunctions are often composed of interleaved postings rathe. In these cases, `docIDRunEnd()` frequently returns only `docID()` + 1. I'm planing to introduce a dense path that collects prohibited documents into 4096-document `bitset` windows, inverts the mask, applies `acceptDocs`, and scores the required clause once per window. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
