static class ToParentBlockJoinQuery.BlockJoinScorer extends ToParentBlockJoinQuery.ChildrenMatchesScorer
Scorer.ChildScorer
Modifier and Type | Field and Description |
---|---|
private int |
childDocUpto |
private Scorer |
childScorer |
private int |
nextChildDoc |
private BitSet |
parentBits |
private int |
parentDoc |
private int |
parentFreq |
private float |
parentScore |
private int[] |
pendingChildDocs |
private float[] |
pendingChildScores |
private int |
prevParentDoc |
private ScoreMode |
scoreMode |
Constructor and Description |
---|
BlockJoinScorer(Weight weight,
Scorer childScorer,
BitSet parentBits,
int firstChildDoc,
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
|
int |
getChildCount()
reports matched children
|
java.util.Collection<Scorer.ChildScorer> |
getChildren()
Returns child sub-scorers
|
(package private) int |
getParentDoc() |
DocIdSetIterator |
iterator()
Return a
DocIdSetIterator over matching documents. |
float |
score()
Returns the score of the current document matching the query.
|
int[] |
swapChildDocs(int[] other)
reports matched children
|
(package private) float[] |
swapChildScores(float[] other) |
void |
trackPendingChildHits()
Instructs this scorer to keep track of the child docIds and score ids for retrieval purposes.
|
getWeight, twoPhaseIterator
private final Scorer childScorer
private final BitSet parentBits
private final ScoreMode scoreMode
private int parentDoc
private int prevParentDoc
private float parentScore
private int parentFreq
private int nextChildDoc
private int[] pendingChildDocs
private float[] pendingChildScores
private int childDocUpto
public java.util.Collection<Scorer.ChildScorer> getChildren()
Scorer
getChildren
in class Scorer
public int getChildCount()
ToParentBlockJoinQuery.ChildrenMatchesScorer
getChildCount
in class ToParentBlockJoinQuery.ChildrenMatchesScorer
int getParentDoc()
public int[] swapChildDocs(int[] other)
ToParentBlockJoinQuery.ChildrenMatchesScorer
swapChildDocs
in class ToParentBlockJoinQuery.ChildrenMatchesScorer
other
- array for recording matching children docs of next parent,
it might be null (that's slower) or the same array which was returned
from the previous callToParentBlockJoinQuery.ChildrenMatchesScorer.getChildCount()
matched children docnumsfloat[] swapChildScores(float[] other)
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 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()
Scorer
public Explanation explain(LeafReaderContext context, Weight childWeight) throws java.io.IOException
java.io.IOException
public void trackPendingChildHits()
trackPendingChildHits
in class ToParentBlockJoinQuery.ChildrenMatchesScorer