org.apache.lucene.search

## Class Query

- java.lang.Object
- - org.apache.lucene.search.Query

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable
  Direct Known Subclasses:
    BooleanQuery, BoostingQuery, ConstantScoreQuery, CustomScoreQuery, DisjunctionMaxQuery, FilteredQuery, FuzzyLikeThisQuery, MatchAllDocsQuery, MoreLikeThisQuery, MultiPhraseQuery, MultiTermQuery, PhraseQuery, RangeQuery, SpanQuery, TermQuery, ValueSourceQuery

      public abstract class Query
      extends java.lang.Object
      implements java.io.Serializable, java.lang.Cloneable

  The abstract base class for queries.

  Instantiable subclasses are:

  - `TermQuery`
  - `MultiTermQuery`
  - `BooleanQuery`
  - `WildcardQuery`
  - `PhraseQuery`
  - `PrefixQuery`
  - `MultiPhraseQuery`
  - `FuzzyQuery`
  - `TermRangeQuery`
  - `NumericRangeQuery`
  - `SpanQuery`

  A parser for queries is contained in:

  - `QueryParser`
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Query()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Returns a clone of this query.
    `Query` | `combine(Query[] queries)` Expert: called when re-writing queries under MultiSearcher.
    `Weight` | `createWeight(Searcher searcher)` Expert: Constructs an appropriate Weight implementation for this query.
    `boolean` | `equals(java.lang.Object obj)`
    `void` | `extractTerms(java.util.Set terms)` Expert: adds all terms occurring in this query to the terms set.
    `float` | `getBoost()` Gets the boost for this clause.
    `Similarity` | `getSimilarity(Searcher searcher)` Expert: Returns the Similarity implementation to be used for this query.
    `int` | `hashCode()`
    `static Query` | `mergeBooleanQueries(BooleanQuery[] queries)` Expert: merges the clauses of a set of BooleanQuery's into a single BooleanQuery.
    `Query` | `rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.
    `void` | `setBoost(float b)` Sets the boost for this query clause to `b`.
    `java.lang.String` | `toString()` Prints a query to a string.
    `abstract java.lang.String` | `toString(java.lang.String field)` Prints a query to a string, with `field` assumed to be the default field and omitted.
    `Weight` | `weight(Searcher searcher)` Expert: Constructs and initializes a Weight for a top-level query.

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Query

          public Query()

  - ### Method Detail

    - #### setBoost

          public void setBoost(float b)

      Sets the boost for this query clause to `b`. Documents matching this clause will (in addition to the normal weightings) have their score multiplied by `b`.

    - #### getBoost

          public float getBoost()

      Gets the boost for this clause. Documents matching this clause will (in addition to the normal weightings) have their score multiplied by `b`. The boost is 1.0 by default.

    - #### toString

          public abstract java.lang.String toString(java.lang.String field)

      Prints a query to a string, with `field` assumed to be the default field and omitted.

      The representation used is one that is supposed to be readable by `QueryParser`. However, there are the following limitations:

      - If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
      - Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.

    - #### toString

          public java.lang.String toString()

      Prints a query to a string.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### createWeight

          public Weight createWeight(Searcher searcher)
                              throws java.io.IOException

      Expert: Constructs an appropriate Weight implementation for this query.

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

      Throws:
        `java.io.IOException`

    - #### weight

          public Weight weight(Searcher searcher)
                        throws java.io.IOException

      Expert: Constructs and initializes a Weight for a top-level query.
      Throws:
        `java.io.IOException`

    - #### rewrite

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

      Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.
      Throws:
        `java.io.IOException`

    - #### combine

          public Query combine(Query[] queries)

      Expert: called when re-writing queries under MultiSearcher. Create a single query suitable for use by all subsearchers (in 1-1 correspondence with queries). This is an optimization of the OR of all queries. We handle the common optimization cases of equal queries and overlapping clauses of boolean OR queries (as generated by MultiTermQuery.rewrite()). Be careful overriding this method as queries[0] determines which method will be called and is not necessarily of the same type as the other queries.

    - #### extractTerms

          public void extractTerms(java.util.Set terms)

      Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its `rewritten` form.
      Throws:
        `java.lang.UnsupportedOperationException` - if this query is not yet rewritten

    - #### mergeBooleanQueries

          public static Query mergeBooleanQueries(BooleanQuery[] queries)

      Expert: merges the clauses of a set of BooleanQuery's into a single BooleanQuery.

      A utility for use by `combine(Query[])` implementations.

    - #### getSimilarity

          public Similarity getSimilarity(Searcher searcher)

      Expert: Returns the Similarity implementation to be used for this query. Subclasses may override this method to specify their own Similarity implementation, perhaps one that delegates through that of the Searcher. By default the Searcher's Similarity implementation is returned.

    - #### clone

          public java.lang.Object clone()

      Returns a clone of this query.
      Overrides:
        `clone` in class `java.lang.Object`

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