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, twoPhaseIteratorprivate 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()
ScorergetChildren in class Scorerpublic int getChildCount()
ToParentBlockJoinQuery.ChildrenMatchesScorergetChildCount in class ToParentBlockJoinQuery.ChildrenMatchesScorerint getParentDoc()
public int[] swapChildDocs(int[] other)
ToParentBlockJoinQuery.ChildrenMatchesScorerswapChildDocs in class ToParentBlockJoinQuery.ChildrenMatchesScorerother - 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()
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 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 int freq()
Scorerpublic Explanation explain(LeafReaderContext context, Weight childWeight) throws java.io.IOException
java.io.IOExceptionpublic void trackPendingChildHits()
trackPendingChildHits in class ToParentBlockJoinQuery.ChildrenMatchesScorer