org.apache.lucene.search

Class Query

public abstract class Query extends Object implements Serializable, Cloneable

The abstract base class for queries.

Instantiable subclasses are:

A parser for queries is contained in:

Method Summary
Objectclone()
Returns a clone of this query.
Querycombine(Query[] queries)
Expert: called when re-writing queries under MultiSearcher.
protected WeightcreateWeight(Searcher searcher)
Expert: Constructs an appropriate Weight implementation for this query.
voidextractTerms(Set terms)
Expert: adds all terms occuring in this query to the terms set.
floatgetBoost()
Gets the boost for this clause.
SimilaritygetSimilarity(Searcher searcher)
Expert: Returns the Similarity implementation to be used for this query.
static QuerymergeBooleanQueries(Query[] queries)
Expert: merges the clauses of a set of BooleanQuery's into a single BooleanQuery.
Queryrewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
voidsetBoost(float b)
Sets the boost for this query clause to b.
abstract StringtoString(String field)
Prints a query to a string, with field as the default field for terms.
StringtoString()
Prints a query to a string.
Weightweight(Searcher searcher)
Expert: Constructs and initializes a Weight for a top-level query.

Method Detail

clone

public Object clone()
Returns a clone of this query.

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() and RangeQuery.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.

createWeight

protected Weight createWeight(Searcher searcher)
Expert: Constructs an appropriate Weight implementation for this query.

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

extractTerms

public void extractTerms(Set terms)
Expert: adds all terms occuring in this query to the terms set. Only works if this query is in its rewritten form.

Throws: UnsupportedOperationException if this query is not yet rewritten

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.

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.

mergeBooleanQueries

public static Query mergeBooleanQueries(Query[] queries)
Expert: merges the clauses of a set of BooleanQuery's into a single BooleanQuery.

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

rewrite

public Query rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

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.

toString

public abstract String toString(String field)
Prints a query to a string, with field as the default field for terms.

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

toString

public String toString()
Prints a query to a string.

weight

public Weight weight(Searcher searcher)
Expert: Constructs and initializes a Weight for a top-level query.
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.