Class MultiTermQueryConstantScoreWrapper<Q extends MultiTermQuery>

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.MultiTermQueryConstantScoreWrapper<Q>
All Implemented Interfaces:
Accountable

final class MultiTermQueryConstantScoreWrapper<Q extends MultiTermQuery> extends Query implements Accountable
This class also provides the functionality behind MultiTermQuery.CONSTANT_SCORE_REWRITE. It tries to rewrite per-segment as a boolean query that returns a constant score and otherwise fills a bit set with matches and builds a Scorer on top of this bit set.
  • Field Details

    • BOOLEAN_REWRITE_TERM_COUNT_THRESHOLD

      private static final int BOOLEAN_REWRITE_TERM_COUNT_THRESHOLD
      See Also:
    • query

      protected final Q extends MultiTermQuery query
  • Constructor Details

    • MultiTermQueryConstantScoreWrapper

      protected MultiTermQueryConstantScoreWrapper(Q query)
      Wrap a MultiTermQuery as a Filter.
  • Method Details

    • ramBytesUsed

      public long ramBytesUsed()
      Description copied from interface: Accountable
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
      ramBytesUsed in interface Accountable
    • toString

      public String toString(String field)
      Description copied from class: Query
      Prints a query to a string, with field assumed to be the default field and omitted.
      Specified by:
      toString in class Query
    • equals

      public final boolean equals(Object other)
      Description copied from class: Query
      Override and implement query instance equivalence properly in a subclass. This is required so that QueryCache works properly.

      Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical that other instance. Utility methods are provided for certain repetitive code.

      Specified by:
      equals in class Query
      See Also:
    • hashCode

      public final int hashCode()
      Description copied from class: Query
      Override and implement query hash code properly in a subclass. This is required so that QueryCache works properly.
      Specified by:
      hashCode in class Query
      See Also:
    • getQuery

      public Q getQuery()
      Returns the encapsulated query
    • getField

      public final String getField()
      Returns the field name for this query
    • createWeight

      public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
      Description copied from class: Query
      Expert: Constructs an appropriate Weight implementation for this query.

      Only implemented by primitive queries, which re-write to themselves.

      Overrides:
      createWeight in class Query
      scoreMode - How the produced scorers will be consumed.
      boost - The boost that is propagated by the parent queries.
      Throws:
      IOException
    • visit

      public void visit(QueryVisitor visitor)
      Description copied from class: Query
      Recurse through the query tree, visiting any child queries
      Specified by:
      visit in class Query
      Parameters:
      visitor - a QueryVisitor to be called by each query in the tree