jpountz commented on PR #15659: URL: https://github.com/apache/lucene/pull/15659#issuecomment-3841311138
> When all clauses return DefaultBulkScorer, the bulk windowing and replay logic adds overhead while preventing effective use of minCompetitiveScore and block-max optimizations It's true that the windowing+replay logic isn't free but I remember that it was still better than using a `Scorer` which had to keep reordering a heap on every document. As far as block-max optimizations are concerned, `DisjunctionBulkMaxScorer` tracks the min competitive score and passes it to its sub clauses whenever scoring a window (https://github.com/apache/lucene/blob/7ebdb9316e5ccd6940c195f60df9e08f0d3a178a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxBulkScorer.java#L81), so this should work fine. Let's benchmark this change with luceneutil and our dismax tasks (https://github.com/mikemccand/luceneutil/blob/main/tasks/wikinightly.tasks#L257-L276)? `DisMaxTerm` in particular should be a good task since `TermQuery` doesn't have a bulk scorer. I haven't played with this for a while, it's possible that bulk scoring isn't helping anymore. -- 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]
