Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.search
Class MultiTermQuery.ConstantScoreAutoRewrite

    java.lang.Object
      org.apache.lucene.search.MultiTermQuery.RewriteMethod
          org.apache.lucene.search.MultiTermQuery.ConstantScoreAutoRewrite

All Implemented Interfaces:
  Serializable

Enclosing class:
  MultiTermQuery

    public static class MultiTermQuery.ConstantScoreAutoRewrite

extends MultiTermQuery.RewriteMethod

A rewrite method that tries to pick the best constant-score rewrite method based on term and document counts from the query. If both the number of terms and documents is small enough, then `MultiTermQuery.CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE` is used. Otherwise, `MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE` is used.

See Also:
  Serialized Form

Nested Class Summary
`protected static interface` | `TermCollectingRewrite.TermCollector`

Field Summary
`static double` | `DEFAULT_DOC_COUNT_PERCENT`
`static int` | `DEFAULT_TERM_COUNT_CUTOFF`

Constructor Summary
`MultiTermQuery.ConstantScoreAutoRewrite()`

Method Summary
`protected void` | `addClause(BooleanQuery 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)`
`double` | `getDocCountPercent()`
`int` | `getTermCountCutoff()`
`protected BooleanQuery` | `getTopLevelQuery()` Return a suitable top-level Query for holding all expanded terms.
`int` | `hashCode()`
`Query` | `rewrite(IndexReader reader, MultiTermQuery query)`
`void` | `setDocCountPercent(double percent)` If the number of documents to be visited in the postings exceeds this specified percentage of the maxDoc() for the index, then `MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE` is used.
`void` | `setTermCountCutoff(int count)` If the number of terms in this query is equal to or larger than this setting then `MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE` is used.

Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
`getTermsEnum`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT_TERM_COUNT_CUTOFF

    public static int DEFAULT_TERM_COUNT_CUTOFF

### DEFAULT_DOC_COUNT_PERCENT

    public static double DEFAULT_DOC_COUNT_PERCENT

Constructor Detail

### MultiTermQuery.ConstantScoreAutoRewrite

    public MultiTermQuery.ConstantScoreAutoRewrite()

Method Detail

### setTermCountCutoff

    public void setTermCountCutoff(int count)

  If the number of terms in this query is equal to or larger than this setting then `MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE` is used.

### getTermCountCutoff

    public int getTermCountCutoff()

  See Also:
    `setTermCountCutoff(int)`

### setDocCountPercent

    public void setDocCountPercent(double percent)

  If the number of documents to be visited in the postings exceeds this specified percentage of the maxDoc() for the index, then `MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE` is used.

  Parameters:
    `percent` - 0.0 to 100.0

### getDocCountPercent

    public double getDocCountPercent()

  See Also:
    `setDocCountPercent(double)`

### 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

### rewrite

    public Query rewrite(IndexReader reader,
                         MultiTermQuery query)
                  throws IOException

  Specified by:
    `rewrite` in class `MultiTermQuery.RewriteMethod`
  Throws:
    `IOException`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

### collectTerms

    protected final void collectTerms(IndexReader reader,
                                      MultiTermQuery query,
                                      TermCollectingRewrite.TermCollector collector)
                               throws IOException

  Throws:
    `IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD