Class BlockMaxMaxscoreScorer
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DisiWrapper[]
private final long
private int
private final DisiPriorityQueue
private int
private final MaxScoreSumPropagator
private float
private double
private double
private int
-
Constructor Summary
ConstructorsConstructorDescriptionBlockMaxMaxscoreScorer
(Weight weight, List<Scorer> scorers) Constructs a Scorer that scores doc based on Block-Max-Maxscore (BMM) algorithm http://engineering.nyu.edu/~suel/papers/bmm.pdf . -
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.int
docID()
Returns the doc ID that is currently being scored.final Collection<Scorable.ChildScorable>
Returns child sub-scorers positioned on the current documentfloat
getMaxScore
(int upTo) Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.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
.Optional method: Return aTwoPhaseIterator
view of thisScorer
.Methods inherited from class org.apache.lucene.search.Scorable
smoothingScore
-
Field Details
-
doc
private int doc -
upTo
private int upTo -
essentialsScorers
-
allScorers
-
firstEssentialScorerIndex
private int firstEssentialScorerIndex -
nonEssentialMaxScoreSum
private double nonEssentialMaxScoreSum -
cost
private final long cost -
maxScoreSumPropagator
-
minCompetitiveScore
private float minCompetitiveScore -
score
private double score
-
-
Constructor Details
-
BlockMaxMaxscoreScorer
Constructs a Scorer that scores doc based on Block-Max-Maxscore (BMM) algorithm http://engineering.nyu.edu/~suel/papers/bmm.pdf . This algorithm has lower overhead compared to WANDScorer, and could be used for simple disjunction queries.- Parameters:
weight
- The weight to be used.scorers
- The sub scorers this Scorer should iterate on for optional clauses.- Throws:
IOException
-
-
Method Details
-
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.
-
twoPhaseIterator
Description copied from class:Scorer
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 theScorer.iterator()
: 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
.- Overrides:
twoPhaseIterator
in classScorer
-
advanceShallow
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
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
-
score
Description copied from class:Scorable
Returns the score of the current document matching the query.- Specified by:
score
in classScorable
- Throws:
IOException
-
docID
public int docID()Description copied from class:Scorable
Returns the doc ID that is currently being scored. -
getChildren
Description copied from class:Scorable
Returns child sub-scorers positioned on the current document- Overrides:
getChildren
in classScorable
-
setMinCompetitiveScore
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
- Throws:
IOException
-