Module org.apache.lucene.core
Package org.apache.lucene.search
Class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite
java.lang.Object
org.apache.lucene.search.MultiTermQuery.RewriteMethod
org.apache.lucene.search.TermCollectingRewrite<BooleanQuery.Builder>
org.apache.lucene.search.TopTermsRewrite<BooleanQuery.Builder>
org.apache.lucene.search.MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite
- Enclosing class:
MultiTermQuery
public static final class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite
extends TopTermsRewrite<BooleanQuery.Builder>
A rewrite method that first translates each term into
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.TopTermsRewrite
TopTermsRewrite.ScoreTermNested classes/interfaces inherited from class org.apache.lucene.search.TermCollectingRewrite
TermCollectingRewrite.TermCollector -
Constructor Summary
ConstructorsConstructorDescriptionTopTermsBoostOnlyBooleanQueryRewrite(int size) Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsizeterms. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddClause(BooleanQuery.Builder topLevel, Term term, int docFreq, float boost, TermStates states) protected Querybuild(BooleanQuery.Builder builder) Finalize the creation of the query from the builder.protected intreturn the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).protected BooleanQuery.BuilderReturn a suitable builder for the top-level Query for holding all expanded terms.Methods inherited from class org.apache.lucene.search.TopTermsRewrite
equals, getSize, hashCode, rewriteMethods inherited from class org.apache.lucene.search.TermCollectingRewrite
addClause, collectTermsMethods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
Constructor Details
-
TopTermsBoostOnlyBooleanQueryRewrite
public TopTermsBoostOnlyBooleanQueryRewrite(int size) Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsizeterms.NOTE: if
IndexSearcher.getMaxClauseCount()is smaller thansize, then it will be used instead.
-
-
Method Details
-
getMaxSize
protected int getMaxSize()Description copied from class:TopTermsRewritereturn the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).- Specified by:
getMaxSizein classTopTermsRewrite<BooleanQuery.Builder>
-
getTopLevelBuilder
Description copied from class:TermCollectingRewriteReturn a suitable builder for the top-level Query for holding all expanded terms.- Specified by:
getTopLevelBuilderin classTermCollectingRewrite<BooleanQuery.Builder>
-
build
Description copied from class:TermCollectingRewriteFinalize the creation of the query from the builder.- Specified by:
buildin classTermCollectingRewrite<BooleanQuery.Builder>
-
addClause
protected void addClause(BooleanQuery.Builder topLevel, Term term, int docFreq, float boost, TermStates states) - Specified by:
addClausein classTermCollectingRewrite<BooleanQuery.Builder>
-