Class Scorer
- Direct Known Subclasses:
ConstantScoreScorer
,FilterScorer
,IndriScorer
,TermScorer
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
advanceShallow
(int target) Advance to the block of documents that containstarget
in order to get scoring information about this block.abstract float
getMaxScore
(int upTo) Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.returns parent Weightabstract DocIdSetIterator
iterator()
Return aDocIdSetIterator
over matching documents.Optional method: Return aTwoPhaseIterator
view of thisScorer
.Methods inherited from class org.apache.lucene.search.Scorable
docID, getChildren, score, setMinCompetitiveScore, smoothingScore
-
Field Details
-
weight
the Scorer's parent Weight
-
-
Constructor Details
-
Scorer
Constructs a Scorer- Parameters:
weight
- The scorersWeight
.
-
-
Method Details
-
getWeight
returns parent Weight- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
iterator
Return aDocIdSetIterator
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.
-
twoPhaseIterator
Optional method: Return aTwoPhaseIterator
view of thisScorer
. A return value ofnull
indicates that two-phase iteration is not supported.Note that the returned
TwoPhaseIterator
'sapproximation
must advance synchronously with theiterator()
: 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
. -
advanceShallow
Advance to the block of documents that containstarget
in order to get scoring information about this block. This method is implicitly called byDocIdSetIterator.advance(int)
andDocIdSetIterator.nextDoc()
on the returned doc ID. Calling this method doesn't modify the currentDocIdSetIterator.docID()
. It returns a number that is greater than or equal to all documents contained in the current block, but less than any doc IDS of the next block.target
must be >=Scorable.docID()
as well as all targets that have been passed toadvanceShallow(int)
so far.- Throws:
IOException
-
getMaxScore
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.- Throws:
IOException
-