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_DEFAULTrewrite 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 booleanequals(Object obj)TermgetPrefix()Returns the prefix of this query.protected TermsEnumgetTermsEnum(Terms terms, AttributeSource atts)Construct the enumeration to be used, expanding the pattern term.inthashCode()StringtoString(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:MultiTermQueryConstruct 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.EMPTYif no terms match). The TermsEnum must already be positioned to the first matching term. The givenAttributeSourceis passed by theMultiTermQuery.RewriteMethodto provide attributes, the rewrite method uses to inform about e.g. maximum competitive boosts. This is currently only used byTopTermsRewrite- Specified by:
getTermsEnumin classMultiTermQuery- Throws:
IOException
-
hashCode
public int hashCode()
- Overrides:
hashCodein classMultiTermQuery
-
equals
public boolean equals(Object obj)
- Overrides:
equalsin classMultiTermQuery
-
-