static class ToParentBlockJoinQuery.BlockJoinScorer extends Scorer
Scorer.ChildScorer
Modifier and Type | Field and Description |
---|---|
private DocIdSetIterator |
childApproximation |
private Scorer |
childScorer |
private TwoPhaseIterator |
childTwoPhase |
private int |
freq |
private ToParentBlockJoinQuery.ParentApproximation |
parentApproximation |
private BitSet |
parentBits |
private ToParentBlockJoinQuery.ParentTwoPhase |
parentTwoPhase |
private float |
score |
private ScoreMode |
scoreMode |
Constructor and Description |
---|
BlockJoinScorer(Weight weight,
Scorer childScorer,
BitSet parentBits,
ScoreMode scoreMode) |
Modifier and Type | Method and Description |
---|---|
int |
docID()
Returns the doc ID that is currently being scored.
|
Explanation |
explain(LeafReaderContext context,
Weight childWeight) |
int |
freq()
Returns the freq of this Scorer on the current document
|
java.util.Collection<Scorer.ChildScorer> |
getChildren()
Returns child sub-scorers positioned on the current document
Note that this method should not be called on Scorers passed to
LeafCollector.setScorer(Scorer) ,
as these may be synthetic Scorers produced by BulkScorer which will throw an Exception. |
DocIdSetIterator |
iterator()
Return a
DocIdSetIterator over matching documents. |
float |
score()
Returns the score of the current document matching the query.
|
private void |
setScoreAndFreq() |
TwoPhaseIterator |
twoPhaseIterator()
Optional method: Return a
TwoPhaseIterator view of this
Scorer . |
private final Scorer childScorer
private final BitSet parentBits
private final ScoreMode scoreMode
private final DocIdSetIterator childApproximation
private final TwoPhaseIterator childTwoPhase
private final ToParentBlockJoinQuery.ParentApproximation parentApproximation
private final ToParentBlockJoinQuery.ParentTwoPhase parentTwoPhase
private float score
private int freq
public java.util.Collection<Scorer.ChildScorer> getChildren()
Scorer
LeafCollector.setScorer(Scorer)
,
as these may be synthetic Scorers produced by BulkScorer
which will throw an Exception.getChildren
in class Scorer
public DocIdSetIterator iterator()
Scorer
DocIdSetIterator
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 TwoPhaseIterator twoPhaseIterator()
Scorer
TwoPhaseIterator
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 Scorer
s
that have a high per-document overhead in order to confirm matches.
The default implementation returns null
.twoPhaseIterator
in class Scorer
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 Scorer
DocIdSetIterator.docID()
public float score() throws java.io.IOException
Scorer
DocIdSetIterator.nextDoc()
or
DocIdSetIterator.advance(int)
is called on the Scorer.iterator()
the first time, or when called from within LeafCollector.collect(int)
.public int freq() throws java.io.IOException
Scorer
private void setScoreAndFreq() throws java.io.IOException
java.io.IOException
public Explanation explain(LeafReaderContext context, Weight childWeight) throws java.io.IOException
java.io.IOException