## org.apache.lucene.search.highlight
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
`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()`.
`float` `getTokenScore()` Called for each token in the current fragment.
`TokenStream` `init(TokenStream tokenStream)` Called to init the Scorer with a `TokenStream`.
`void` `startFragment(TextFragment newFragment)` Called when a new fragment is started for consideration.

Method Detail

### 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`

### 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()`.