Package org.apache.lucene.search

## Class Rescorer

- java.lang.Object
- - org.apache.lucene.search.Rescorer

- Direct Known Subclasses:
    `QueryRescorer`, `SortRescorer`

      public abstract class Rescorer
      extends Object

  Re-scores the topN results (`TopDocs`) from an original query. See `QueryRescorer` for an actual implementation. Typically, you run a low-cost first-pass query across the entire index, collecting the top few hundred hits perhaps, and then use this class to mix in a more costly second pass scoring.

  See `QueryRescorer.rescore(IndexSearcher,TopDocs,Query,double,int)` for a simple static method to call to rescore using a 2nd pass `Query`.

  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Rescorer()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Explanation` | `explain​(IndexSearcher searcher, Explanation firstPassExplanation, int docID)` | Explains how the score for the specified document was computed.
    `abstract TopDocs` | `rescore​(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN)` | Rescore an initial first-pass `TopDocs`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Rescorer

          public Rescorer()

  - ### Method Detail

    - #### rescore

          public abstract TopDocs rescore​(IndexSearcher searcher,
                                          TopDocs firstPassTopDocs,
                                          int topN)
                                   throws IOException

      Rescore an initial first-pass `TopDocs`.
      Parameters:
        `searcher` - `IndexSearcher` used to produce the first pass topDocs
        `firstPassTopDocs` - Hits from the first pass search. It's very important that these hits were produced by the provided searcher; otherwise the doc IDs will not match!
        `topN` - How many re-scored hits to return
      Throws:
        `IOException`

    - #### explain

          public abstract Explanation explain​(IndexSearcher searcher,
                                              Explanation firstPassExplanation,
                                              int docID)
                                       throws IOException

      Explains how the score for the specified document was computed.
      Throws:
        `IOException`