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<B>
-
- 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 intoBooleanClause.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.ScoreTerm
-
Nested classes/interfaces inherited from class org.apache.lucene.search.TermCollectingRewrite
TermCollectingRewrite.TermCollector
-
-
Constructor Summary
Constructors Constructor Description TopTermsBoostOnlyBooleanQueryRewrite(int size)
Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsize
terms.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.-
Methods inherited from class org.apache.lucene.search.TopTermsRewrite
equals, getSize, hashCode, rewrite
-
Methods inherited from class org.apache.lucene.search.TermCollectingRewrite
addClause, collectTerms
-
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
-
-
-
Constructor Detail
-
TopTermsBoostOnlyBooleanQueryRewrite
public TopTermsBoostOnlyBooleanQueryRewrite(int size)
Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsize
terms.NOTE: if
IndexSearcher.getMaxClauseCount()
is smaller thansize
, then it will be used instead.
-
-
Method Detail
-
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.Builder>
-
getTopLevelBuilder
protected BooleanQuery.Builder getTopLevelBuilder()
Description copied from class:TermCollectingRewrite
Return a suitable builder for the top-level Query for holding all expanded terms.- Specified by:
getTopLevelBuilder
in classTermCollectingRewrite<BooleanQuery.Builder>
-
build
protected Query build(BooleanQuery.Builder builder)
Description copied from class:TermCollectingRewrite
Finalize the creation of the query from the builder.- Specified by:
build
in classTermCollectingRewrite<BooleanQuery.Builder>
-
addClause
protected void addClause(BooleanQuery.Builder topLevel, Term term, int docFreq, float boost, TermStates states)
- Specified by:
addClause
in classTermCollectingRewrite<BooleanQuery.Builder>
-
-