Interface Scorer

All Known Implementing Classes:
QueryScorer, QueryTermScorer

public interface Scorer
A Scorer is responsible for scoring a stream of tokens. These token scores can then be used to compute TextFragment scores.
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Called when the Highlighter has no more tokens for the current fragment - the Scorer returns the weighting it has derived for the most recent fragment, typically based on the results of getTokenScore().
    float
    Called for each token in the current fragment.
    init(TokenStream tokenStream)
    Called to init the Scorer with a TokenStream.
    void
    Called when a new fragment is started for consideration.
  • Method Details

    • init

      TokenStream init(TokenStream tokenStream) throws IOException
      Called to init the Scorer with a TokenStream. You can grab references to the attributes you are interested in here and access them from getTokenScore().
      Parameters:
      tokenStream - the TokenStream that will be scored.
      Returns:
      either a TokenStream that the Highlighter should continue using (eg if you read the tokenSream in this method) or null to continue using the same TokenStream that was passed in.
      Throws:
      IOException - If there is a low-level I/O error
    • startFragment

      void startFragment(TextFragment newFragment)
      Called when a new fragment is started for consideration.
      Parameters:
      newFragment - the fragment that will be scored next
    • getTokenScore

      float getTokenScore()
      Called for each token in the current fragment. The Highlighter will increment the TokenStream passed to init on every call.
      Returns:
      a score which is passed to the Highlighter class to influence the mark-up of the text (this return value is NOT used to score the fragment)
    • getFragmentScore

      float getFragmentScore()
      Called when the Highlighter has no more tokens for the current fragment - the Scorer returns the weighting it has derived for the most recent fragment, typically based on the results of getTokenScore().