Class QueryRescorer

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

public abstract class QueryRescorer extends Rescorer
A Rescorer that uses a provided Query to assign scores to the first-pass hits.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Query
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Sole constructor, passing the 2nd pass query to assign scores to the 1st pass hits.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract float
    combine(float firstPassScore, boolean secondPassMatches, float secondPassScore)
    Implement this in a subclass to combine the first pass and second pass scores.
    explain(IndexSearcher searcher, Explanation firstPassExplanation, int docID)
    Explains how the score for the specified document was computed.
    rescore(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN)
    Rescore an initial first-pass TopDocs.
    static TopDocs
    rescore(IndexSearcher searcher, TopDocs topDocs, Query query, double weight, int topN)
    Sugar API, calling {#rescore} using a simple linear combination of firstPassScore + weight * secondPassScore

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • query

      private final Query query
  • Constructor Details

    • QueryRescorer

      public QueryRescorer(Query query)
      Sole constructor, passing the 2nd pass query to assign scores to the 1st pass hits.
  • Method Details

    • combine

      protected abstract float combine(float firstPassScore, boolean secondPassMatches, float secondPassScore)
      Implement this in a subclass to combine the first pass and second pass scores. If secondPassMatches is false then the second pass query failed to match a hit from the first pass query, and you should ignore the secondPassScore.
    • rescore

      public TopDocs rescore(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN) throws IOException
      Description copied from class: Rescorer
      Rescore an initial first-pass TopDocs.
      Specified by:
      rescore in class Rescorer
      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 Explanation explain(IndexSearcher searcher, Explanation firstPassExplanation, int docID) throws IOException
      Description copied from class: Rescorer
      Explains how the score for the specified document was computed.
      Specified by:
      explain in class Rescorer
      Throws:
      IOException
    • rescore

      public static TopDocs rescore(IndexSearcher searcher, TopDocs topDocs, Query query, double weight, int topN) throws IOException
      Sugar API, calling {#rescore} using a simple linear combination of firstPassScore + weight * secondPassScore
      Throws:
      IOException