Package org.apache.lucene.search
Class IndriDisjunctionScorer
- java.lang.Object
-
- org.apache.lucene.search.Scorable
-
- org.apache.lucene.search.Scorer
-
- org.apache.lucene.search.IndriScorer
-
- org.apache.lucene.search.IndriDisjunctionScorer
-
- Direct Known Subclasses:
IndriAndScorer
public abstract class IndriDisjunctionScorer extends IndriScorer
The Indri implemenation of a disjunction scorer which stores the subscorers for the child queries. The score and smoothingScore methods use the list of all subscorers and not just the matches so that a smoothingScore can be calculated if there is not an exact match.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
IndriDisjunctionScorer(Weight weight, List<Scorer> subScorersList, ScoreMode scoreMode, float boost)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
docID()
Returns the doc ID that is currently being scored.float
getMaxScore(int upTo)
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.List<Scorer>
getSubMatches()
DocIdSetIterator
iterator()
Return aDocIdSetIterator
over matching documents.float
score()
Returns the score of the current document matching the query.float
smoothingScore(int docId)
Returns the smoothing score of the current document matching the query.abstract float
smoothingScore(List<Scorer> subScorers, int docId)
-
Methods inherited from class org.apache.lucene.search.IndriScorer
getBoost
-
Methods inherited from class org.apache.lucene.search.Scorer
advanceShallow, getWeight, twoPhaseIterator
-
Methods inherited from class org.apache.lucene.search.Scorable
getChildren, setMinCompetitiveScore
-
-
-
-
Method Detail
-
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.
- Specified by:
iterator
in classIndriScorer
-
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 classIndriScorer
- Throws:
IOException
-
getSubMatches
public List<Scorer> getSubMatches() throws IOException
- Throws:
IOException
-
smoothingScore
public abstract float smoothingScore(List<Scorer> subScorers, int docId) throws IOException
- Throws:
IOException
-
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 classIndriScorer
- 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.
- Specified by:
smoothingScore
in classIndriScorer
- Throws:
IOException
-
docID
public int docID()
Description copied from class:Scorable
Returns the doc ID that is currently being scored.- Specified by:
docID
in classIndriScorer
-
-