public class AutomatonQuery extends MultiTermQuery
Query that will match terms against a finite-state machine.
This query will match documents that contain terms accepted by a given
finite-state machine. The automaton can be constructed with the
org.apache.lucene.util.automaton API. Alternatively, it can be
created from a regular expression with RegexpQuery or from
the standard Lucene wildcard syntax with WildcardQuery.
When the query is executed, it will create an equivalent DFA of the
finite-state machine, and will enumerate the term dictionary in an
intelligent way to reduce the number of comparisons. For example: the regular
expression of [dl]og? will make approximately four comparisons:
do, dog, lo, and log.
MultiTermQuery.ConstantScoreAutoRewrite, MultiTermQuery.RewriteMethod, MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite, MultiTermQuery.TopTermsScoringBooleanQueryRewrite| Modifier and Type | Field and Description |
|---|---|
protected Automaton |
automaton
the automaton to match index terms against
|
protected CompiledAutomaton |
compiled |
protected Term |
term
term containing the field, and possibly some pattern structure
|
CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE, CONSTANT_SCORE_FILTER_REWRITE, field, rewriteMethod, SCORING_BOOLEAN_QUERY_REWRITE| Constructor and Description |
|---|
AutomatonQuery(Term term,
Automaton automaton)
Create a new AutomatonQuery from an
Automaton. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
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 query to a string, with
field assumed to be the
default field and omitted. |
getField, getRewriteMethod, getTermsEnum, rewrite, setRewriteMethodclone, createWeight, extractTerms, getBoost, setBoost, toStringprotected final Automaton automaton
protected final CompiledAutomaton compiled
protected final Term term
protected TermsEnum getTermsEnum(Terms terms, AttributeSource atts) throws IOException
MultiTermQueryTermsEnum.EMPTY if no
terms match). The TermsEnum must already be
positioned to the first matching term.
The given AttributeSource is passed by the MultiTermQuery.RewriteMethod to
provide attributes, the rewrite method uses to inform about e.g. maximum competitive boosts.
This is currently only used by TopTermsRewritegetTermsEnum in class MultiTermQueryIOExceptionpublic int hashCode()
hashCode in class MultiTermQuerypublic boolean equals(Object obj)
equals in class MultiTermQueryCopyright © 2000-2012 Apache Software Foundation. All Rights Reserved.