org.apache.lucene.search

## Class ScoreCachingWrappingScorer

- java.lang.Object
- - org.apache.lucene.search.Scorer
  - - org.apache.lucene.search.FilterScorer
    - - org.apache.lucene.search.ScoreCachingWrappingScorer

-     public class ScoreCachingWrappingScorer
      extends FilterScorer

  A `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.
  This class might be useful due to the changes done to the `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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.Scorer

      `Scorer.ChildScorer`

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.search.FilterScorer

      `in`

    - ### Fields inherited from class org.apache.lucene.search.Scorer

      `weight`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ScoreCachingWrappingScorer(Scorer scorer)` Creates a new instance by wrapping the given scorer.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<Scorer.ChildScorer>` | `getChildren()` Returns child sub-scorers positioned on the current document Note that this method should not be called on Scorers passed to `LeafCollector.setScorer(Scorer)`, as these may be synthetic Scorers produced by `BulkScorer` which will throw an Exception.
    `float` | `score()` Returns the score of the current document matching the query.

    - ### Methods inherited from class org.apache.lucene.search.FilterScorer

      `docID, iterator, twoPhaseIterator`

    - ### Methods inherited from class org.apache.lucene.search.Scorer

      `getWeight`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ScoreCachingWrappingScorer

          public ScoreCachingWrappingScorer(Scorer scorer)

      Creates a new instance by wrapping the given scorer.

  - ### Method Detail

    - #### score

          public float score()
                      throws IOException

      Description copied from class: `Scorer`
      Returns the score of the current document matching the query. Initially invalid, until `DocIdSetIterator.nextDoc()` or `DocIdSetIterator.advance(int)` is called on the `Scorer.iterator()` the first time, or when called from within `LeafCollector.collect(int)`.
      Overrides:
        `score` in class `FilterScorer`
      Throws:
        `IOException`

    - #### getChildren

          public Collection<Scorer.ChildScorer> getChildren()

      Description copied from class: `Scorer`
      Returns child sub-scorers positioned on the current document Note that this method should not be called on Scorers passed to `LeafCollector.setScorer(Scorer)`, as these may be synthetic Scorers produced by `BulkScorer` which will throw an Exception.
      Overrides:
        `getChildren` in class `Scorer`

Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.