Open
Description
Megamorphism of call sites to DocIdSetIterator#nextDoc
and DocIdSetIterator#advance
hurts search performance. See e.g. annotation HJ at https://benchmarks.mikemccandless.com/OrHighHigh.html where reducing polymorphism helped improve QPS by 40%. More specialization could also help, but before we start going this route, we should reduce the number of classes that extend DocIdSetIterator
so that specialization is less needed and can focus on some key impls.
- Change the Scorer API to expose an iterator instead of extending DocIdSetIterator [LUCENE-6919] #7977
- Stop using
SlowImpactsEnum
for terms whosedocFreq
is less than 128. #14017 - Combine all postings enum impls of the default codec into a single class #14033
- Use the same DocIdSetIterator impl for #all, #range and #empty. #14451
- Refactor doc values to expose a
DocIdSetIterator
instead of extendingDocIdSetIterator
. #14475 - Make
IntervalIterator
expose aDocIdSetIterator
instead of extendingDocIdSetIterator
. - Make
Spans
expose aDocIdSetIterator
instead of extendingDocIdSetIterator
. - Can we somehow remove
ImpactsDISI
, e.g. by evaluating term queries as single-clause disjunctions or conjunctions?
Metadata
Metadata
Assignees
Labels
No labels