public abstract class Scorer
extends java.lang.Object
A Scorer exposes an iterator() over documents
matching a query in increasing order of doc Id.
Document scores are computed using a given Similarity
implementation.
NOTE: The values Float.Nan,
Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY are
not valid scores. Certain collectors (eg TopScoreDocCollector) will not properly collect hits
with these scores.
| Modifier and Type | Class and Description |
|---|---|
static class |
Scorer.ChildScorer
A child Scorer and its relationship to its parent.
|
| Modifier and Type | Field and Description |
|---|---|
protected Weight |
weight
the Scorer's parent Weight.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Scorer(Weight weight)
Constructs a Scorer
|
| Modifier and Type | Method and Description |
|---|---|
abstract int |
docID()
Returns the doc ID that is currently being scored.
|
abstract int |
freq()
Returns the freq of this Scorer on the current document
|
java.util.Collection<Scorer.ChildScorer> |
getChildren()
Returns child sub-scorers
|
Weight |
getWeight()
returns parent Weight
|
abstract DocIdSetIterator |
iterator()
Return a
DocIdSetIterator over matching documents. |
abstract float |
score()
Returns the score of the current document matching the query.
|
TwoPhaseIterator |
twoPhaseIterator()
Optional method: Return a
TwoPhaseIterator view of this
Scorer. |
protected final Weight weight
protected Scorer(Weight weight)
weight - The scorers Weight.public abstract int docID()
-1 if the iterator() is not positioned
or DocIdSetIterator.NO_MORE_DOCS if it has been entirely consumed.DocIdSetIterator.docID()public abstract float score()
throws java.io.IOException
DocIdSetIterator.nextDoc() or
DocIdSetIterator.advance(int) is called on the iterator()
the first time, or when called from within LeafCollector.collect(int).java.io.IOExceptionpublic abstract int freq()
throws java.io.IOException
java.io.IOExceptionpublic Weight getWeight()
public java.util.Collection<Scorer.ChildScorer> getChildren()
public abstract DocIdSetIterator iterator()
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()
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 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.