Package org.apache.lucene.search
Class TopTermsRewrite<B>
- java.lang.Object
-
- org.apache.lucene.search.MultiTermQuery.RewriteMethod
-
- org.apache.lucene.search.TopTermsRewrite<B>
-
- Direct Known Subclasses:
MultiTermQuery.TopTermsBlendedFreqScoringRewrite,MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite,MultiTermQuery.TopTermsScoringBooleanQueryRewrite
public abstract class TopTermsRewrite<B> extends MultiTermQuery.RewriteMethod
Base rewrite method for collecting only the top terms via a priority queue.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
- Only public to be accessible by spans package.
-
-
Constructor Summary
Constructors Constructor Description TopTermsRewrite(int size)Create a TopTermsBooleanQueryRewrite for at mostsizeterms.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddClause(B topLevel, Term term, int docCount, float boost)Add a MultiTermQuery term to the top-level query builder.protected abstract voidaddClause(B topLevel, Term term, int docCount, float boost, TermStates states)protected abstract Querybuild(B builder)Finalize the creation of the query from the builder.booleanequals(Object obj)protected abstract intgetMaxSize()return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).intgetSize()return the maximum priority queue sizeprotected abstract BgetTopLevelBuilder()Return a suitable builder for the top-level Query for holding all expanded terms.inthashCode()Queryrewrite(IndexReader reader, MultiTermQuery query)-
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
-
-
-
Constructor Detail
-
TopTermsRewrite
public TopTermsRewrite(int size)
Create a TopTermsBooleanQueryRewrite for at mostsizeterms.NOTE: if
IndexSearcher.getMaxClauseCount()is smaller thansize, then it will be used instead.
-
-
Method Detail
-
getSize
public int getSize()
return the maximum priority queue size
-
getMaxSize
protected abstract int getMaxSize()
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).
-
rewrite
public final Query rewrite(IndexReader reader, MultiTermQuery query) throws IOException
- Specified by:
rewritein classMultiTermQuery.RewriteMethod- Throws:
IOException
-
getTopLevelBuilder
protected abstract B getTopLevelBuilder() throws IOExceptionReturn a suitable builder for the top-level Query for holding all expanded terms.- Throws:
IOException
-
build
protected abstract Query build(B builder)
Finalize the creation of the query from the builder.
-
addClause
protected final void addClause(B topLevel, Term term, int docCount, float boost) throws IOExceptionAdd a MultiTermQuery term to the top-level query builder.- Throws:
IOException
-
addClause
protected abstract void addClause(B topLevel, Term term, int docCount, float boost, TermStates states) throws IOException- Throws:
IOException
-
-