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.ChildScorerin| 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, twoPhaseIteratorpublic ScoreCachingWrappingScorer(Scorer scorer)
public float score()
throws IOException
ScorerDocIdSetIterator.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 FilterScorerIOExceptionpublic Collection<Scorer.ChildScorer> getChildren()
ScorergetChildren in class ScorerCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.