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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `DEFAULT_DOC_COUNT_PERCENT`
    `static int` | `DEFAULT_TERM_COUNT_CUTOFF`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConstantScoreAutoRewrite()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

    - #### ConstantScoreAutoRewrite

          public 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-2016 Apache Software Foundation. All Rights Reserved.