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.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.
-
-
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 topLevel, Term term, float boost)
Add a MultiTermQuery term to the top-level queryprotected void
collectTerms(IndexReader reader, MultiTermQuery query, org.apache.lucene.search.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.-
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 mostsize
terms.NOTE: if
BooleanQuery.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>
-
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
-
-