public class ScoreCachingWrappingScorer extends FilterScorer
Scorer
which wraps another scorer and caches the score of the
current document. Successive calls to score()
will return the same
result and will not invoke the wrapped Scorer's score() method, unless the
current document has changed.Collector
interface, in which the score is not computed for a document by default, only
if the collector requests it. Some collectors may need to use the score in
several places, however all they have in hand is a Scorer
object, and
might end up computing the score of a document more than once.Scorer.ChildScorer
in
Constructor and Description |
---|
ScoreCachingWrappingScorer(Scorer scorer)
Creates a new instance by wrapping the given scorer.
|
Modifier and Type | Method and Description |
---|---|
Collection<Scorer.ChildScorer> |
getChildren()
Returns child sub-scorers
|
float |
score()
Returns the score of the current document matching the query.
|
docID, freq, iterator, twoPhaseIterator
public ScoreCachingWrappingScorer(Scorer scorer)
public float score() throws IOException
Scorer
DocIdSetIterator.nextDoc()
or
DocIdSetIterator.advance(int)
is called on the Scorer.iterator()
the first time, or when called from within LeafCollector.collect(int)
.score
in class FilterScorer
IOException
public Collection<Scorer.ChildScorer> getChildren()
Scorer
getChildren
in class Scorer
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.