Class Scorer
- java.lang.Object
-
- org.apache.lucene.search.Scorable
-
- org.apache.lucene.search.Scorer
-
- Direct Known Subclasses:
ConstantScoreScorer
,FilterScorer
,IndriScorer
,TermScorer
public abstract class Scorer extends Scorable
Expert: Common scoring functionality for different types of queries.A
Scorer
exposes aniterator()
over documents matching a query in increasing order of doc id.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
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.Weight
getWeight()
returns parent Weightabstract DocIdSetIterator
iterator()
Return aDocIdSetIterator
over matching documents.TwoPhaseIterator
twoPhaseIterator()
Optional method: Return aTwoPhaseIterator
view of thisScorer
.-
Methods inherited from class org.apache.lucene.search.Scorable
docID, getChildren, score, setMinCompetitiveScore, smoothingScore
-
-
-
-
Field Detail
-
weight
protected final Weight weight
the Scorer's parent Weight
-
-
Constructor Detail
-
Scorer
protected Scorer(Weight weight)
Constructs a Scorer- Parameters:
weight
- The scorersWeight
.
-
-
Method Detail
-
getWeight
public Weight getWeight()
returns parent Weight- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
iterator
public abstract DocIdSetIterator 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
public TwoPhaseIterator 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
public int advanceShallow(int target) throws IOException
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
public abstract float getMaxScore(int upTo) throws IOException
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.- Throws:
IOException
-
-