Class CoveringScorer


final class CoveringScorer extends Scorer
A Scorer whose number of matches is per-document.
  • Field Details

    • numScorers

      final int numScorers
    • maxDoc

      final int maxDoc
    • minMatchValues

      final LongValues minMatchValues
    • matches

      boolean matches
    • doc

      int doc
    • topList

      DisiWrapper topList
    • freq

      int freq
    • minMatch

      long minMatch
    • subScorers

      final DisiPriorityQueue subScorers
    • cost

      final long cost
    • approximation

      private final DocIdSetIterator approximation
    • twoPhase

      private final TwoPhaseIterator twoPhase
  • Constructor Details

  • Method Details

    • getChildren

      public final Collection<Scorable.ChildScorable> getChildren() throws IOException
      Description copied from class: Scorable
      Returns child sub-scorers positioned on the current document
      Overrides:
      getChildren in class Scorable
      Throws:
      IOException
    • iterator

      public DocIdSetIterator iterator()
      Description copied from class: Scorer
      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.

      Specified by:
      iterator in class Scorer
    • twoPhaseIterator

      public TwoPhaseIterator twoPhaseIterator()
      Description copied from class: Scorer
      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 Scorer.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.

      Overrides:
      twoPhaseIterator in class Scorer
    • advanceAll

      private void advanceAll(int target) throws IOException
      Throws:
      IOException
    • setTopListAndFreq

      private void setTopListAndFreq()
    • setTopListAndFreqIfNecessary

      private void setTopListAndFreqIfNecessary() throws IOException
      Throws:
      IOException
    • score

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

      public float getMaxScore(int upTo) throws IOException
      Description copied from class: Scorer
      Return the maximum score that documents between the last target that this iterator was shallow-advanced to included and upTo included.
      Specified by:
      getMaxScore in class Scorer
      Throws:
      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