Package org.apache.lucene.search
Class TopTermsRewrite<B>
- java.lang.Object
-
- org.apache.lucene.search.MultiTermQuery.RewriteMethod
-
- org.apache.lucene.search.TermCollectingRewrite<B>
-
- org.apache.lucene.search.TopTermsRewrite<B>
-
- Direct Known Subclasses:
MultiTermQuery.TopTermsBlendedFreqScoringRewrite,MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite,MultiTermQuery.TopTermsScoringBooleanQueryRewrite
public abstract class TopTermsRewrite<B> extends TermCollectingRewrite<B>
Base rewrite method for collecting only the top terms via a priority queue.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classTopTermsRewrite.ScoreTerm-
Nested classes/interfaces inherited from class org.apache.lucene.search.TermCollectingRewrite
TermCollectingRewrite.TermCollector
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Comparator<TopTermsRewrite.ScoreTerm>scoreTermSortByTermCompprivate intsize
-
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 booleanequals(java.lang.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 sizeinthashCode()Queryrewrite(IndexReader reader, MultiTermQuery query)-
Methods inherited from class org.apache.lucene.search.TermCollectingRewrite
addClause, addClause, build, collectTerms, getTopLevelBuilder
-
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
-
-
-
Field Detail
-
size
private final int size
-
scoreTermSortByTermComp
private static final java.util.Comparator<TopTermsRewrite.ScoreTerm> scoreTermSortByTermComp
-
-
Constructor Detail
-
TopTermsRewrite
public TopTermsRewrite(int size)
Create a TopTermsBooleanQueryRewrite for at mostsizeterms.NOTE: if
BooleanQuery.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 java.io.IOException
- Specified by:
rewritein classMultiTermQuery.RewriteMethod- Throws:
java.io.IOException
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
-