Package org.apache.lucene.search
Class Query
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
BooleanQuery
,BoostingQuery
,ConstantScoreQuery
,CustomScoreQuery
,DisjunctionMaxQuery
,FilteredQuery
,FuzzyLikeThisQuery
,MatchAllDocsQuery
,MoreLikeThisQuery
,MultiPhraseQuery
,MultiTermQuery
,PhraseQuery
,SpanQuery
,TermQuery
,ToChildBlockJoinQuery
,ToParentBlockJoinQuery
,ValueSourceQuery
public abstract class Query extends Object implements Serializable, 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:
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Query()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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(Object obj)
void
extractTerms(Set<Term> 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)
Deprecated.Instead of using "runtime" subclassing/delegation, subclass the Weight instead.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 tob
.String
toString()
Prints a query to a string.abstract String
toString(String field)
Prints a query to a string, withfield
assumed to be the default field and omitted.Weight
weight(Searcher searcher)
Deprecated.never ever use this method inWeight
implementations.
-
-
-
Method Detail
-
setBoost
public void setBoost(float b)
Sets the boost for this query clause tob
. Documents matching this clause will (in addition to the normal weightings) have their score multiplied byb
.
-
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 byb
. The boost is 1.0 by default.
-
toString
public abstract String toString(String field)
Prints a query to a string, withfield
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.
-
createWeight
public Weight createWeight(Searcher searcher) throws IOException
Expert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Throws:
IOException
-
weight
@Deprecated public final Weight weight(Searcher searcher) throws IOException
Deprecated.never ever use this method inWeight
implementations. Subclasses ofQuery
should usecreateWeight(org.apache.lucene.search.Searcher)
, instead.Expert: Constructs and initializes a Weight for a top-level query.- Throws:
IOException
-
rewrite
public Query rewrite(IndexReader reader) throws 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:
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(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set. Only works if this query is in itsrewritten
form.- Throws:
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
@Deprecated public Similarity getSimilarity(Searcher searcher)
Deprecated.Instead of using "runtime" subclassing/delegation, subclass the Weight instead.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.
-
-