Package org.apache.lucene.search
Class MultiTermQuery.TopTermsScoringBooleanQueryRewrite
java.lang.Object
org.apache.lucene.search.MultiTermQuery.RewriteMethod
org.apache.lucene.search.TopTermsRewrite<BooleanQuery>
org.apache.lucene.search.MultiTermQuery.TopTermsScoringBooleanQueryRewrite
- Enclosing class:
- MultiTermQuery
public static final class MultiTermQuery.TopTermsScoringBooleanQueryRewrite
extends TopTermsRewrite<BooleanQuery>
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.
This rewrite method only uses the top scoring terms so it will not overflow
the boolean max clause count. It is the default rewrite method for
FuzzyQuery
.
-
Constructor Summary
ConstructorsConstructorDescriptionTopTermsScoringBooleanQueryRewrite
(int size) Create a TopTermsScoringBooleanQueryRewrite for at mostsize
terms. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addClause
(BooleanQuery topLevel, Term term, int docCount, float boost, TermContext states) protected final void
addClause
(BooleanQuery topLevel, Term term, int docCount, float boost) Add a MultiTermQuery term to the top-level queryprotected int
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).protected BooleanQuery
Return a suitable top-level Query for holding all expanded terms.Methods inherited from class org.apache.lucene.search.TopTermsRewrite
equals, getSize, hashCode, rewrite
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
Constructor Details
-
TopTermsScoringBooleanQueryRewrite
public TopTermsScoringBooleanQueryRewrite(int size) Create a TopTermsScoringBooleanQueryRewrite for at mostsize
terms.NOTE: if
BooleanQuery.getMaxClauseCount()
is smaller thansize
, then it will be used instead.
-
-
Method Details
-
getMaxSize
protected int getMaxSize()Description copied from class:TopTermsRewrite
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).- Specified by:
getMaxSize
in classTopTermsRewrite<BooleanQuery>
-
getTopLevelQuery
Return a suitable top-level Query for holding all expanded terms. -
addClause
protected void addClause(BooleanQuery topLevel, Term term, int docCount, float boost, TermContext states) -
addClause
protected final void addClause(BooleanQuery topLevel, Term term, int docCount, float boost) throws IOException Add a MultiTermQuery term to the top-level query- Throws:
IOException
-