public static final class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite extends TopTermsRewrite<BooleanQuery.Builder>
BooleanClause.Occur.SHOULD clause in a BooleanQuery, but the scores
are only computed as the boost.
This rewrite method only uses the top scoring terms so it will not overflow the boolean max clause count.
TopTermsRewrite.ScoreTermTermCollectingRewrite.TermCollector| Constructor and Description |
|---|
TopTermsBoostOnlyBooleanQueryRewrite(int size)
Create a TopTermsBoostOnlyBooleanQueryRewrite for
at most
size terms. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addClause(BooleanQuery.Builder topLevel,
Term term,
int docFreq,
float boost,
TermStates states) |
protected Query |
build(BooleanQuery.Builder builder)
Finalize the creation of the query from the builder.
|
protected int |
getMaxSize()
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).
|
protected BooleanQuery.Builder |
getTopLevelBuilder()
Return a suitable builder for the top-level Query for holding all expanded terms.
|
equals, getSize, hashCode, rewriteaddClause, collectTermsgetTermsEnumpublic TopTermsBoostOnlyBooleanQueryRewrite(int size)
size terms.
NOTE: if BooleanQuery.getMaxClauseCount() is smaller than
size, then it will be used instead.
protected int getMaxSize()
TopTermsRewritegetMaxSize in class TopTermsRewrite<BooleanQuery.Builder>protected BooleanQuery.Builder getTopLevelBuilder()
TermCollectingRewritegetTopLevelBuilder in class TermCollectingRewrite<BooleanQuery.Builder>protected Query build(BooleanQuery.Builder builder)
TermCollectingRewritebuild in class TermCollectingRewrite<BooleanQuery.Builder>protected void addClause(BooleanQuery.Builder topLevel, Term term, int docFreq, float boost, TermStates states)
addClause in class TermCollectingRewrite<BooleanQuery.Builder>