public abstract class TopTermsRewrite<Q extends Query> extends MultiTermQuery.RewriteMethod
Modifier and Type | Class and Description |
---|---|
protected static interface |
TermCollectingRewrite.TermCollector |
Constructor and Description |
---|
TopTermsRewrite(int size)
Create a TopTermsBooleanQueryRewrite for
at most
size terms. |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addClause(Q topLevel,
Term term,
float boost)
Add a MultiTermQuery term to the top-level query
|
protected void |
collectTerms(IndexReader reader,
MultiTermQuery query,
TermCollectingRewrite.TermCollector collector) |
boolean |
equals(Object obj) |
protected abstract int |
getMaxSize()
return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).
|
int |
getSize()
return the maximum priority queue size
|
protected abstract Q |
getTopLevelQuery()
Return a suitable top-level Query for holding all expanded terms.
|
int |
hashCode() |
Q |
rewrite(IndexReader reader,
MultiTermQuery query) |
getTermsEnum
public TopTermsRewrite(int size)
size
terms.
NOTE: if BooleanQuery.getMaxClauseCount()
is smaller than
size
, then it will be used instead.
public int getSize()
protected abstract int getMaxSize()
public Q rewrite(IndexReader reader, MultiTermQuery query) throws IOException
rewrite
in class MultiTermQuery.RewriteMethod
IOException
protected abstract Q getTopLevelQuery() throws IOException
IOException
protected abstract void addClause(Q topLevel, Term term, float boost) throws IOException
IOException
protected final void collectTerms(IndexReader reader, MultiTermQuery query, TermCollectingRewrite.TermCollector collector) throws IOException
IOException