Scorer.ChildScorer| Modifier and Type | Field and Description |
|---|---|
private static int |
ADVANCE_COST
Estimation of the number of operations required to call DISI.advance.
|
private DocIdSetIterator |
exclApproximation |
private TwoPhaseIterator |
exclTwoPhaseIterator |
private DocIdSetIterator |
reqApproximation |
private Scorer |
reqScorer |
private TwoPhaseIterator |
reqTwoPhaseIterator |
| Constructor and Description |
|---|
ReqExclScorer(Scorer reqScorer,
Scorer exclScorer)
Construct a
ReqExclScorer. |
| Modifier and Type | Method and Description |
|---|---|
int |
docID()
Returns the doc ID that is currently being scored.
|
int |
freq()
Returns the freq of this Scorer on the current document
|
java.util.Collection<Scorer.ChildScorer> |
getChildren()
Returns child sub-scorers
|
DocIdSetIterator |
iterator()
Return a
DocIdSetIterator over matching documents. |
private static float |
matchCost(DocIdSetIterator reqApproximation,
TwoPhaseIterator reqTwoPhaseIterator,
DocIdSetIterator exclApproximation,
TwoPhaseIterator exclTwoPhaseIterator) |
private static boolean |
matchesOrNull(TwoPhaseIterator it)
Confirms whether or not the given
TwoPhaseIterator
matches on the current document. |
float |
score()
Returns the score of the current document matching the query.
|
TwoPhaseIterator |
twoPhaseIterator()
Optional method: Return a
TwoPhaseIterator view of this
Scorer. |
private final Scorer reqScorer
private final DocIdSetIterator reqApproximation
private final DocIdSetIterator exclApproximation
private final TwoPhaseIterator reqTwoPhaseIterator
private final TwoPhaseIterator exclTwoPhaseIterator
private static final int ADVANCE_COST
private static boolean matchesOrNull(TwoPhaseIterator it) throws java.io.IOException
TwoPhaseIterator
matches on the current document.java.io.IOExceptionpublic DocIdSetIterator iterator()
ScorerDocIdSetIterator over matching documents.
The returned iterator will either be positioned on -1 if no
documents have been scored yet, DocIdSetIterator.NO_MORE_DOCS
if all documents have been scored already, or the last document id that
has been scored otherwise.
The returned iterator is a view: calling this method several times will
return iterators that have the same state.public int docID()
Scorer-1 if the Scorer.iterator() is not positioned
or DocIdSetIterator.NO_MORE_DOCS if it has been entirely consumed.docID in class ScorerDocIdSetIterator.docID()public int freq()
throws java.io.IOException
Scorerpublic float score()
throws java.io.IOException
ScorerDocIdSetIterator.nextDoc() or
DocIdSetIterator.advance(int) is called on the Scorer.iterator()
the first time, or when called from within LeafCollector.collect(int).public java.util.Collection<Scorer.ChildScorer> getChildren()
ScorergetChildren in class Scorerprivate static float matchCost(DocIdSetIterator reqApproximation, TwoPhaseIterator reqTwoPhaseIterator, DocIdSetIterator exclApproximation, TwoPhaseIterator exclTwoPhaseIterator)
public TwoPhaseIterator twoPhaseIterator()
ScorerTwoPhaseIterator view of this
Scorer. A return value of null indicates that
two-phase iteration is not supported.
Note that the returned TwoPhaseIterator's
approximation must
advance synchronously with the Scorer.iterator(): advancing the
approximation must advance the iterator and vice-versa.
Implementing this method is typically useful on Scorers
that have a high per-document overhead in order to confirm matches.
The default implementation returns null.twoPhaseIterator in class Scorer