Serializablepublic abstract class ScoringRewrite<Q extends Query> extends MultiTermQuery.RewriteMethod
| Modifier and Type | Field | Description |
|---|---|---|
static MultiTermQuery.RewriteMethod |
CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE |
Like
SCORING_BOOLEAN_QUERY_REWRITE except
scores are not computed. |
static ScoringRewrite<BooleanQuery> |
SCORING_BOOLEAN_QUERY_REWRITE |
A rewrite method that first translates each term into
BooleanClause.Occur.SHOULD clause in a
BooleanQuery, and keeps the scores as computed by the
query. |
| Constructor | Description |
|---|---|
ScoringRewrite() |
| Modifier and Type | Method | Description |
|---|---|---|
protected abstract void |
addClause(Q topLevel,
Term term,
float boost) |
Add a MultiTermQuery term to the top-level query
|
protected void |
collectTerms(IndexReader reader,
MultiTermQuery query,
org.apache.lucene.search.TermCollectingRewrite.TermCollector collector) |
|
protected abstract Q |
getTopLevelQuery() |
Return a suitable top-level Query for holding all expanded terms.
|
Q |
rewrite(IndexReader reader,
MultiTermQuery query) |
getTermsEnumpublic static final ScoringRewrite<BooleanQuery> SCORING_BOOLEAN_QUERY_REWRITE
BooleanClause.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 use MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT instead.
NOTE: This rewrite method will hit BooleanQuery.TooManyClauses if the number of terms
exceeds BooleanQuery.getMaxClauseCount().
public static final MultiTermQuery.RewriteMethod CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE
SCORING_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
exceeds BooleanQuery.getMaxClauseCount().
public Q rewrite(IndexReader reader, MultiTermQuery query) throws IOException
rewrite in class MultiTermQuery.RewriteMethodIOExceptionprotected abstract Q getTopLevelQuery()
throws IOException
IOExceptionprotected abstract void addClause(Q topLevel,
Term term,
float boost)
throws IOException
IOExceptionprotected final void collectTerms(IndexReader reader, MultiTermQuery query, org.apache.lucene.search.TermCollectingRewrite.TermCollector collector) throws IOException
IOExceptionCopyright © 2000-2018 Apache Software Foundation. All Rights Reserved.