java.lang.Object
org.apache.lucene.search.Scorable
org.apache.lucene.search.Scorer
org.apache.lucene.search.DisjunctionScorer
org.apache.lucene.search.DisjunctionMaxScorer
The Scorer for DisjunctionMaxQuery. The union of all documents generated by the subquery scorers
is generated in document number order. The score for each document is the maximum of the scores
computed by the subquery scorers that generate that document, plus tieBreakerMultiplier times the
sum of the scores for the other subqueries that generate the document.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable
Scorable.ChildScorable -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DisjunctionScoreBlockBoundaryPropagatorprivate final float -
Constructor Summary
ConstructorsConstructorDescriptionDisjunctionMaxScorer(Weight weight, float tieBreakerMultiplier, List<Scorer> subScorers, ScoreMode scoreMode) Creates a new instance of DisjunctionMaxScorer -
Method Summary
Modifier and TypeMethodDescriptionintadvanceShallow(int target) Advance to the block of documents that containstargetin order to get scoring information about this block.floatgetMaxScore(int upTo) Return the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.protected floatscore(DisiWrapper topList) Compute the score for the given linked list of scorers.voidsetMinCompetitiveScore(float minScore) Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the givenminScore.Methods inherited from class org.apache.lucene.search.DisjunctionScorer
docID, getChildren, getSubMatches, iterator, score, twoPhaseIteratorMethods inherited from class org.apache.lucene.search.Scorable
smoothingScore
-
Field Details
-
subScorers
-
tieBreakerMultiplier
private final float tieBreakerMultiplier -
disjunctionBlockPropagator
-
-
Constructor Details
-
DisjunctionMaxScorer
DisjunctionMaxScorer(Weight weight, float tieBreakerMultiplier, List<Scorer> subScorers, ScoreMode scoreMode) throws IOException Creates a new instance of DisjunctionMaxScorer- Parameters:
weight- The Weight to be used.tieBreakerMultiplier- Multiplier applied to non-maximum-scoring subqueries for a document as they are summed into the result.subScorers- The sub scorers this Scorer should iterate on- Throws:
IOException
-
-
Method Details
-
score
Description copied from class:DisjunctionScorerCompute the score for the given linked list of scorers.- Specified by:
scorein classDisjunctionScorer- Throws:
IOException
-
advanceShallow
Description copied from class:ScorerAdvance 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 toScorer.advanceShallow(int)so far.- Overrides:
advanceShallowin classScorer- Throws:
IOException
-
getMaxScore
Description copied from class:ScorerReturn the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.- Specified by:
getMaxScorein classScorer- Throws:
IOException
-
setMinCompetitiveScore
Description copied from class:ScorableOptional 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:
setMinCompetitiveScorein classScorable- Throws:
IOException
-