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)  | 
getTermsEnumpublic 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.RewriteMethodIOExceptionprotected abstract Q getTopLevelQuery()
                                             throws IOException
IOExceptionprotected abstract void addClause(Q topLevel,
             Term term,
             float boost)
                           throws IOException
IOExceptionprotected final void collectTerms(IndexReader reader, MultiTermQuery query, TermCollectingRewrite.TermCollector collector) throws IOException
IOException