Package org.apache.lucene.search
Class QueryRescorer
java.lang.Object
org.apache.lucene.search.Rescorer
org.apache.lucene.search.QueryRescorer
A
Rescorer
that uses a provided Query to assign scores to the first-pass hits.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
ConstructorDescriptionQueryRescorer
(Query query) Sole constructor, passing the 2nd pass query to assign scores to the 1st pass hits. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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-passTopDocs
.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
-
Constructor Details
-
QueryRescorer
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-passTopDocs
.- Specified by:
rescore
in classRescorer
- Parameters:
searcher
-IndexSearcher
used to produce the first pass topDocsfirstPassTopDocs
- 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 classRescorer
- 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
-