Package org.apache.lucene.search
Class PrefixQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.MultiTermQuery
-
- org.apache.lucene.search.AutomatonQuery
-
- org.apache.lucene.search.PrefixQuery
-
- All Implemented Interfaces:
Accountable
public class PrefixQuery extends AutomatonQuery
A Query that matches documents containing terms with a specified prefix. A PrefixQuery is built by QueryParser for input likeapp*
.This query uses the
MultiTermQuery.CONSTANT_SCORE_BLENDED_REWRITE
rewrite method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.MultiTermQuery
MultiTermQuery.RewriteMethod, MultiTermQuery.TopTermsBlendedFreqScoringRewrite, MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite, MultiTermQuery.TopTermsScoringBooleanQueryRewrite
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.search.AutomatonQuery
automaton, automatonIsBinary, compiled, term
-
Fields inherited from class org.apache.lucene.search.MultiTermQuery
CONSTANT_SCORE_BLENDED_REWRITE, CONSTANT_SCORE_BOOLEAN_REWRITE, CONSTANT_SCORE_REWRITE, DOC_VALUES_REWRITE, field, rewriteMethod, SCORING_BOOLEAN_REWRITE
-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description PrefixQuery(Term prefix)
Constructs a query for terms starting withprefix
.PrefixQuery(Term prefix, MultiTermQuery.RewriteMethod rewriteMethod)
Constructs a query for terms starting withprefix
using a defined RewriteMethod
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Override and implement query instance equivalence properly in a subclass.Term
getPrefix()
Returns the prefix of this query.int
hashCode()
Override and implement query hash code properly in a subclass.static Automaton
toAutomaton(BytesRef prefix)
Build an automaton accepting all terms with the specified prefix.String
toString(String field)
Prints a user-readable version of this query.-
Methods inherited from class org.apache.lucene.search.AutomatonQuery
getAutomaton, getTermsEnum, isAutomatonBinary, ramBytesUsed, visit
-
Methods inherited from class org.apache.lucene.search.MultiTermQuery
getField, getRewriteMethod, getTermsCount, getTermsEnum, rewrite, setRewriteMethod
-
Methods inherited from class org.apache.lucene.search.Query
classHash, createWeight, sameClassAs, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Constructor Detail
-
PrefixQuery
public PrefixQuery(Term prefix)
Constructs a query for terms starting withprefix
.
-
PrefixQuery
public PrefixQuery(Term prefix, MultiTermQuery.RewriteMethod rewriteMethod)
Constructs a query for terms starting withprefix
using a defined RewriteMethod
-
-
Method Detail
-
toAutomaton
public static Automaton toAutomaton(BytesRef prefix)
Build an automaton accepting all terms with the specified prefix.
-
getPrefix
public Term getPrefix()
Returns the prefix of this query.
-
toString
public String toString(String field)
Prints a user-readable version of this query.- Overrides:
toString
in classAutomatonQuery
-
hashCode
public int hashCode()
Description copied from class:Query
Override and implement query hash code properly in a subclass. This is required so thatQueryCache
works properly.- Overrides:
hashCode
in classAutomatonQuery
- See Also:
Query.equals(Object)
-
equals
public boolean equals(Object obj)
Description copied from class:Query
Override and implement query instance equivalence properly in a subclass. This is required so thatQueryCache
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.
- Overrides:
equals
in classAutomatonQuery
- See Also:
Query.sameClassAs(Object)
,Query.classHash()
-
-