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
Scorerexposes 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 intadvanceShallow(int target)Advance to the block of documents that containstargetin order to get scoring information about this block.abstract floatgetMaxScore(int upTo)Return the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.WeightgetWeight()returns parent Weightabstract DocIdSetIteratoriterator()Return aDocIdSetIteratorover matching documents.TwoPhaseIteratortwoPhaseIterator()Optional method: Return aTwoPhaseIteratorview 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 aDocIdSetIteratorover matching documents.The returned iterator will either be positioned on
-1if no documents have been scored yet,DocIdSetIterator.NO_MORE_DOCSif 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 aTwoPhaseIteratorview of thisScorer. A return value ofnullindicates that two-phase iteration is not supported.Note that the returned
TwoPhaseIterator'sapproximationmust advance synchronously with theiterator(): 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.
-
advanceShallow
public int advanceShallow(int target) throws IOExceptionAdvance to the block of documents that containstargetin 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.targetmust 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 IOExceptionReturn the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.- Throws:
IOException
-
-