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.ScoreTerm
TermCollectingRewrite.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, rewrite
addClause, collectTerms
getTermsEnum
public TopTermsBoostOnlyBooleanQueryRewrite(int size)
size
terms.
NOTE: if BooleanQuery.getMaxClauseCount()
is smaller than
size
, then it will be used instead.
protected int getMaxSize()
TopTermsRewrite
getMaxSize
in class TopTermsRewrite<BooleanQuery.Builder>
protected BooleanQuery.Builder getTopLevelBuilder()
TermCollectingRewrite
getTopLevelBuilder
in class TermCollectingRewrite<BooleanQuery.Builder>
protected Query build(BooleanQuery.Builder builder)
TermCollectingRewrite
build
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>