Package org.apache.lucene.search
Class ScoringRewrite<Q extends Query>
- java.lang.Object
-
- org.apache.lucene.search.MultiTermQuery.RewriteMethod
-
- org.apache.lucene.search.ScoringRewrite<Q>
-
public abstract class ScoringRewrite<Q extends Query> extends MultiTermQuery.RewriteMethod
Base rewrite method that translates each term into a query, and keeps the scores as computed by the query.
-
-
Field Summary
Fields Modifier and Type Field Description static MultiTermQuery.RewriteMethod
CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE
LikeSCORING_BOOLEAN_QUERY_REWRITE
except scores are not computed.static ScoringRewrite<BooleanQuery>
SCORING_BOOLEAN_QUERY_REWRITE
A rewrite method that first translates each term intoBooleanClause.Occur.SHOULD
clause in a BooleanQuery, and keeps the scores as computed by the query.
-
Constructor Summary
Constructors Constructor Description ScoringRewrite()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Q
rewrite(IndexReader reader, MultiTermQuery query)
-
-
-
Field Detail
-
SCORING_BOOLEAN_QUERY_REWRITE
public static final ScoringRewrite<BooleanQuery> SCORING_BOOLEAN_QUERY_REWRITE
A rewrite method that first translates each term intoBooleanClause.Occur.SHOULD
clause in a BooleanQuery, and keeps the scores as computed by the query. Note that typically such scores are meaningless to the user, and require non-trivial CPU to compute, so it's almost always better to useMultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT
instead.NOTE: This rewrite method will hit
BooleanQuery.TooManyClauses
if the number of terms exceedsBooleanQuery.getMaxClauseCount()
.
-
CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE
public static final MultiTermQuery.RewriteMethod CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE
LikeSCORING_BOOLEAN_QUERY_REWRITE
except scores are not computed. Instead, each matching document receives a constant score equal to the query's boost.NOTE: This rewrite method will hit
BooleanQuery.TooManyClauses
if the number of terms exceedsBooleanQuery.getMaxClauseCount()
.
-
-
Method Detail
-
rewrite
public final Q rewrite(IndexReader reader, MultiTermQuery query) throws java.io.IOException
- Specified by:
rewrite
in classMultiTermQuery.RewriteMethod
- Throws:
java.io.IOException
-
-