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 Detail

      • init

        TokenStream init​(TokenStream tokenStream)
                  throws java.io.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:
        java.io.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().