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 and Description
`Rescorer()`

### Method Summary

All Methods Instance Methods Abstract Methods
`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`