benwtrent commented on code in PR #16002:
URL: https://github.com/apache/lucene/pull/16002#discussion_r3170307848
##########
lucene/core/src/java/org/apache/lucene/search/MaxScoreBulkScorer.java:
##########
@@ -146,7 +147,11 @@ public int score(LeafCollector collector, Bits acceptDocs,
int min, int max) thr
private void scoreInnerWindow(
LeafCollector collector, Bits acceptDocs, int max, DisiWrapper filter)
throws IOException {
if (filter != null) {
- scoreInnerWindowWithFilter(collector, acceptDocs, max, filter);
+ if (shouldPostFilter(filter)) {
+ scoreInnerWindowWithPostFilter(collector, acceptDocs, max, filter);
+ } else {
+ scoreInnerWindowWithFilter(collector, acceptDocs, max, filter);
+ }
Review Comment:
I would much prefer if we continued with one function.
Really, the optimization is just providing bulk scoring on contiguous blocks
of IDs, right?
If that is the case, I think we can use the filter iterator's "docEndRunID"
or whatever to get a block of matching ids, allowing for bulk scoring of the
competitive scorers.
--
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]