Class TermScorer
- java.lang.Object
-
- org.apache.lucene.search.Scorable
-
- org.apache.lucene.search.Scorer
-
- org.apache.lucene.search.TermScorer
-
public final class TermScorer extends Scorer
Expert: AScorer
for documents matching aTerm
.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable
-
-
Constructor Summary
Constructors Constructor Description TermScorer(Weight weight, ImpactsEnum impactsEnum, LeafSimScorer docScorer, boolean topLevelScoringClause)
Construct aTermScorer
that will use impacts to skip blocks of non-competitive documents.TermScorer(Weight weight, PostingsEnum postingsEnum, LeafSimScorer docScorer)
Construct aTermScorer
that will iterate all documents.
-
Method Summary
All Methods Instance 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.int
docID()
Returns the doc ID that is currently being scored.int
freq()
Returns term frequency in the current document.float
getMaxScore(int upTo)
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.DocIdSetIterator
iterator()
Return aDocIdSetIterator
over matching documents.float
score()
Returns the score of the current document matching the query.void
setMinCompetitiveScore(float minScore)
Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the givenminScore
.float
smoothingScore(int docId)
Returns the smoothing score of the current document matching the query.String
toString()
Returns a string representation of thisTermScorer
.-
Methods inherited from class org.apache.lucene.search.Scorer
getWeight, twoPhaseIterator
-
Methods inherited from class org.apache.lucene.search.Scorable
getChildren
-
-
-
-
Constructor Detail
-
TermScorer
public TermScorer(Weight weight, PostingsEnum postingsEnum, LeafSimScorer docScorer)
Construct aTermScorer
that will iterate all documents.
-
TermScorer
public TermScorer(Weight weight, ImpactsEnum impactsEnum, LeafSimScorer docScorer, boolean topLevelScoringClause)
Construct aTermScorer
that will use impacts to skip blocks of non-competitive documents.
-
-
Method Detail
-
docID
public int docID()
Description copied from class:Scorable
Returns the doc ID that is currently being scored.
-
freq
public final int freq() throws IOException
Returns term frequency in the current document.- Throws:
IOException
-
iterator
public DocIdSetIterator iterator()
Description copied from class:Scorer
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.
-
score
public float score() throws IOException
Description copied from class:Scorable
Returns the score of the current document matching the query.- Specified by:
score
in classScorable
- Throws:
IOException
-
smoothingScore
public float smoothingScore(int docId) throws IOException
Description copied from class:Scorable
Returns the smoothing score of the current document matching the query. This score is used when the query/term does not appear in the document, and behaves like an idf. The smoothing score is particularly important when the Scorer returns a product of probabilities so that the document score does not go to zero when one probability is zero. This can return 0 or a smoothing score.Smoothing scores are described in many papers, including: Metzler, D. and Croft, W. B. , "Combining the Language Model and Inference Network Approaches to Retrieval," Information Processing and Management Special Issue on Bayesian Networks and Information Retrieval, 40(5), pp.735-750.
- Overrides:
smoothingScore
in classScorable
- Throws:
IOException
-
advanceShallow
public int advanceShallow(int target) throws IOException
Description copied from class:Scorer
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 toScorer.advanceShallow(int)
so far.- Overrides:
advanceShallow
in classScorer
- Throws:
IOException
-
getMaxScore
public float getMaxScore(int upTo) throws IOException
Description copied from class:Scorer
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.- Specified by:
getMaxScore
in classScorer
- Throws:
IOException
-
setMinCompetitiveScore
public void setMinCompetitiveScore(float minScore)
Description copied from class:Scorable
Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the givenminScore
. This is a no-op by default.This method may only be called from collectors that use
ScoreMode.TOP_SCORES
, and successive calls may only set increasing values ofminScore
.- Overrides:
setMinCompetitiveScore
in classScorable
-
-