Class Scorer

  • Direct Known Subclasses:
    ConstantScoreScorer, FilterScorer, IndriScorer, TermScorer

    public abstract class Scorer
    extends Scorable
    Expert: Common scoring functionality for different types of queries.

    A Scorer exposes an iterator() over documents matching a query in increasing order of doc Id.

    Document scores are computed using a given Similarity implementation.

    NOTE: The values Float.Nan, Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY are not valid scores. Certain collectors (eg TopScoreDocCollector) will not properly collect hits with these scores.

    • Field Detail

      • weight

        protected final Weight weight
        the Scorer's parent Weight
    • Constructor Detail

      • Scorer

        protected Scorer​(Weight weight)
        Constructs a Scorer
        Parameters:
        weight - The scorers Weight.
    • Method Detail

      • getWeight

        public Weight getWeight()
        returns parent Weight
        WARNING: This API is experimental and might change in incompatible ways in the next release.
      • iterator

        public abstract DocIdSetIterator iterator()
        Return a DocIdSetIterator over matching documents.

        The returned iterator will either be positioned on -1 if no documents have been scored yet, DocIdSetIterator.NO_MORE_DOCS if all documents have been scored already, or the last document id that has been scored otherwise.

        The returned iterator is a view: calling this method several times will return iterators that have the same state.

      • twoPhaseIterator

        public TwoPhaseIterator twoPhaseIterator()
        Optional method: Return a TwoPhaseIterator view of this Scorer. A return value of null indicates that two-phase iteration is not supported.

        Note that the returned TwoPhaseIterator's approximation must advance synchronously with the iterator(): advancing the approximation must advance the iterator and vice-versa.

        Implementing this method is typically useful on Scorers that have a high per-document overhead in order to confirm matches.

        The default implementation returns null.

      • getMaxScore

        public abstract float getMaxScore​(int upTo)
                                   throws IOException
        Return the maximum score that documents between the last target that this iterator was shallow-advanced to included and upTo included.
        Throws:
        IOException