Class ScoreCachingWrappingScorer


  • public final class ScoreCachingWrappingScorer
    extends Scorable
    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.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int curDoc  
      private float curScore  
      private Scorable in  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int docID()
      Returns the doc ID that is currently being scored.
      java.util.Collection<Scorable.ChildScorable> getChildren()
      Returns child sub-scorers positioned on the current document
      float score()
      Returns the score of the current document matching the query.
      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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • curDoc

        private int curDoc
      • curScore

        private float curScore
    • Constructor Detail

      • ScoreCachingWrappingScorer

        public ScoreCachingWrappingScorer​(Scorable scorer)
        Creates a new instance by wrapping the given scorer.
    • Method Detail

      • score

        public float score()
                    throws java.io.IOException
        Description copied from class: Scorable
        Returns the score of the current document matching the query.
        Specified by:
        score in class Scorable
        Throws:
        java.io.IOException
      • setMinCompetitiveScore

        public void setMinCompetitiveScore​(float minScore)
                                    throws java.io.IOException
        Description copied from class: Scorable
        Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the given 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.
        Overrides:
        setMinCompetitiveScore in class Scorable
        Throws:
        java.io.IOException
      • docID

        public int docID()
        Description copied from class: Scorable
        Returns the doc ID that is currently being scored.
        Specified by:
        docID in class Scorable