public static final class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite extends TopTermsRewrite<BooleanQuery>
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.
| Modifier and Type | Class and Description |
|---|---|
protected static interface |
TermCollectingRewrite.TermCollector |
| Constructor and Description |
|---|
MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite(int size)
Create a TopTermsBoostOnlyBooleanQueryRewrite for
at most
size terms. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addClause(BooleanQuery topLevel,
Term term,
float boost)
Add a MultiTermQuery term to the top-level query
|
protected void |
collectTerms(IndexReader reader,
MultiTermQuery query,
TermCollectingRewrite.TermCollector collector) |
protected int |
getMaxSize()
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).
|
protected BooleanQuery |
getTopLevelQuery()
Return a suitable top-level Query for holding all expanded terms.
|
equals, getSize, hashCode, rewritegetTermsEnumpublic MultiTermQuery.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>protected BooleanQuery getTopLevelQuery()
protected void addClause(BooleanQuery topLevel, Term term, float boost)
protected final void collectTerms(IndexReader reader, MultiTermQuery query, TermCollectingRewrite.TermCollector collector) throws IOException
IOException