private static class ConjunctionDISI.TwoPhase extends ConjunctionDISI
TwoPhaseIterator
s.
Another important difference with ConjunctionDISI
is that this
implementation supports approximations too: the approximation of this
impl is the conjunction of the approximations of the wrapped iterators.
This allows eg. +"A B" +C
to be approximated as
+(+A +B) +C
.Modifier and Type | Field and Description |
---|---|
(package private) ConjunctionDISI.TwoPhaseConjunctionDISI |
twoPhaseView |
lead, others
NO_MORE_DOCS
Modifier | Constructor and Description |
---|---|
private |
TwoPhase(java.util.List<? extends DocIdSetIterator> iterators,
java.util.List<TwoPhaseIterator> twoPhaseIterators) |
Modifier and Type | Method and Description |
---|---|
ConjunctionDISI.TwoPhaseConjunctionDISI |
asTwoPhaseIterator() |
protected boolean |
matches() |
advance, cost, docID, intersectIterators, intersectScorers, intersectSpans, nextDoc
all, empty, slowAdvance
final ConjunctionDISI.TwoPhaseConjunctionDISI twoPhaseView
private TwoPhase(java.util.List<? extends DocIdSetIterator> iterators, java.util.List<TwoPhaseIterator> twoPhaseIterators)
public ConjunctionDISI.TwoPhaseConjunctionDISI asTwoPhaseIterator()
asTwoPhaseIterator
in class ConjunctionDISI
protected boolean matches() throws java.io.IOException
matches
in class ConjunctionDISI
java.io.IOException