## 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:
  java.io.Serializable

Enclosing class:
  MultiTermQuery

    public static class MultiTermQuery.ConstantScoreAutoRewrite

extends MultiTermQuery.RewriteMethod
implements java.io.Serializable

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

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

Constructor Summary
`MultiTermQuery.ConstantScoreAutoRewrite()`

Method Summary
`boolean` `equals(java.lang.Object obj)`
`double` `getDocCountPercent()`
`int` `getTermCountCutoff()`
`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 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)`

### rewrite

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

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

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.