final class DisjunctionMaxScorer extends DisjunctionScorer
Scorable.ChildScorable
Modifier and Type | Field and Description |
---|---|
private java.util.List<Scorer> |
subScorers |
private float |
tieBreakerMultiplier |
Constructor and Description |
---|
DisjunctionMaxScorer(Weight weight,
float tieBreakerMultiplier,
java.util.List<Scorer> subScorers,
ScoreMode scoreMode)
Creates a new instance of DisjunctionMaxScorer
|
Modifier and Type | Method and Description |
---|---|
int |
advanceShallow(int target)
Advance to the block of documents that contains
target in order to
get scoring information about this block. |
float |
getMaxScore(int upTo)
Return the maximum score that documents between the last
target
that this iterator was shallow-advanced to
included and upTo included. |
protected float |
score(DisiWrapper topList)
Compute the score for the given linked list of scorers.
|
void |
setMinCompetitiveScore(float minScore)
Optional method: Tell the scorer that its iterator may safely ignore all
documents whose score is less than the given
minScore . |
docID, getBlockMaxApprox, getChildren, getSubMatches, iterator, score, twoPhaseIterator
private final java.util.List<Scorer> subScorers
private final float tieBreakerMultiplier
DisjunctionMaxScorer(Weight weight, float tieBreakerMultiplier, java.util.List<Scorer> subScorers, ScoreMode scoreMode) throws java.io.IOException
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 onjava.io.IOException
protected float score(DisiWrapper topList) throws java.io.IOException
DisjunctionScorer
score
in class DisjunctionScorer
java.io.IOException
public int advanceShallow(int target) throws java.io.IOException
Scorer
target
in order to
get scoring information about this block. This method is implicitly called
by DocIdSetIterator.advance(int)
and
DocIdSetIterator.nextDoc()
on the returned doc ID. Calling this
method doesn't modify the current DocIdSetIterator.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 to Scorer.advanceShallow(int)
so far.advanceShallow
in class Scorer
java.io.IOException
public float getMaxScore(int upTo) throws java.io.IOException
Scorer
target
that this iterator was shallow-advanced
to
included and upTo
included.getMaxScore
in class Scorer
java.io.IOException
public void setMinCompetitiveScore(float minScore)
Scorable
minScore
. 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 of minScore
.setMinCompetitiveScore
in class Scorable