Class TermScorer


public final class TermScorer extends Scorer
Expert: A Scorer for documents matching a Term.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Constructor Details

  • Method Details

    • docID

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

      public final int freq() throws IOException
      Returns term frequency in the current document.
      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
    • 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
    • smoothingScore

      public float smoothingScore(int docId) throws IOException
      Description copied from class: Scorable
      Returns the smoothing score of the current document matching the query. This score is used when the query/term does not appear in the document, and behaves like an idf. The smoothing score is particularly important when the Scorer returns a product of probabilities so that the document score does not go to zero when one probability is zero. This can return 0 or a smoothing score.

      Smoothing scores are described in many papers, including: Metzler, D. and Croft, W. B. , "Combining the Language Model and Inference Network Approaches to Retrieval," Information Processing and Management Special Issue on Bayesian Networks and Information Retrieval, 40(5), pp.735-750.

      Overrides:
      smoothingScore in class Scorable
      Throws:
      IOException
    • advanceShallow

      public int advanceShallow(int target) throws IOException
      Description copied from class: Scorer
      Advance to the block of documents that contains target in order to get scoring information about this block. This method is implicitly called by DocIdSetIterator.advance(int) and DocIdSetIterator.nextDoc() on the returned doc ID. Calling this method doesn't modify the current DocIdSetIterator.docID(). It returns a number that is greater than or equal to all documents contained in the current block, but less than any doc IDS of the next block. target must be >= Scorable.docID() as well as all targets that have been passed to Scorer.advanceShallow(int) so far.
      Overrides:
      advanceShallow in class Scorer
      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
    • setMinCompetitiveScore

      public void setMinCompetitiveScore(float minScore)
      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
    • toString

      public String toString()
      Returns a string representation of this TermScorer.
      Overrides:
      toString in class Object