Package org.apache.lucene.search
Class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite
- java.lang.Object
-
- org.apache.lucene.search.MultiTermQuery.RewriteMethod
-
- org.apache.lucene.search.TopTermsRewrite<BooleanQuery>
-
- org.apache.lucene.search.MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite
-
- All Implemented Interfaces:
Serializable
- Enclosing class:
- MultiTermQuery
public static final class MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite extends TopTermsRewrite<BooleanQuery>
A rewrite method that first translates each term intoBooleanClause.Occur.SHOULDclause 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.
-
-
Constructor Summary
Constructors Constructor Description TopTermsBoostOnlyBooleanQueryRewrite(int size)Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsizeterms.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddClause(BooleanQuery topLevel, Term term, float boost)Add a MultiTermQuery term to the top-level queryprotected voidcollectTerms(IndexReader reader, MultiTermQuery query, org.apache.lucene.search.TermCollectingRewrite.TermCollector collector)protected intgetMaxSize()return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).protected BooleanQuerygetTopLevelQuery()Return a suitable 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.MultiTermQuery.RewriteMethod
getTermsEnum
-
-
-
-
Constructor Detail
-
TopTermsBoostOnlyBooleanQueryRewrite
public TopTermsBoostOnlyBooleanQueryRewrite(int size)
Create a TopTermsBoostOnlyBooleanQueryRewrite for at mostsizeterms.NOTE: if
BooleanQuery.getMaxClauseCount()is smaller thansize, then it will be used instead.
-
-
Method Detail
-
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>
-
getTopLevelQuery
protected BooleanQuery getTopLevelQuery()
Return a suitable top-level Query for holding all expanded terms.
-
addClause
protected void addClause(BooleanQuery topLevel, Term term, float boost)
Add a MultiTermQuery term to the top-level query
-
collectTerms
protected final void collectTerms(IndexReader reader, MultiTermQuery query, org.apache.lucene.search.TermCollectingRewrite.TermCollector collector) throws IOException
- Throws:
IOException
-
-