Package org.apache.lucene.search
Class PrefixQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.MultiTermQuery
-
- org.apache.lucene.search.PrefixQuery
-
- All Implemented Interfaces:
Cloneable
public class PrefixQuery extends MultiTermQuery
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_AUTO_REWRITE_DEFAULT
rewrite method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.MultiTermQuery
MultiTermQuery.ConstantScoreAutoRewrite, MultiTermQuery.RewriteMethod, MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite, MultiTermQuery.TopTermsScoringBooleanQueryRewrite
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.search.MultiTermQuery
CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE, CONSTANT_SCORE_FILTER_REWRITE, field, rewriteMethod, SCORING_BOOLEAN_QUERY_REWRITE
-
-
Constructor Summary
Constructors Constructor Description PrefixQuery(Term prefix)
Constructs a query for terms starting withprefix
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Term
getPrefix()
Returns the prefix of this query.protected TermsEnum
getTermsEnum(Terms terms, AttributeSource atts)
Construct the enumeration to be used, expanding the pattern term.int
hashCode()
String
toString(String field)
Prints a user-readable version of this query.-
Methods inherited from class org.apache.lucene.search.MultiTermQuery
getField, getRewriteMethod, getTermsEnum, rewrite, setRewriteMethod
-
Methods inherited from class org.apache.lucene.search.Query
clone, createWeight, extractTerms, getBoost, setBoost, toString
-
-
-
-
Constructor Detail
-
PrefixQuery
public PrefixQuery(Term prefix)
Constructs a query for terms starting withprefix
.
-
-
Method Detail
-
getPrefix
public Term getPrefix()
Returns the prefix of this query.
-
getTermsEnum
protected TermsEnum getTermsEnum(Terms terms, AttributeSource atts) throws IOException
Description copied from class:MultiTermQuery
Construct the enumeration to be used, expanding the pattern term. This method should only be called if the field exists (ie, implementations can assume the field does exist). This method should not return null (should instead returnTermsEnum.EMPTY
if no terms match). The TermsEnum must already be positioned to the first matching term. The givenAttributeSource
is passed by theMultiTermQuery.RewriteMethod
to provide attributes, the rewrite method uses to inform about e.g. maximum competitive boosts. This is currently only used byTopTermsRewrite
- Specified by:
getTermsEnum
in classMultiTermQuery
- Throws:
IOException
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classMultiTermQuery
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classMultiTermQuery
-
-