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.RewriteMethod, MultiTermQuery.TopTermsBlendedFreqScoringRewrite, MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite, MultiTermQuery.TopTermsScoringBooleanQueryRewrite| Modifier and Type | Field and Description | 
|---|---|
| protected Automaton | automatonthe automaton to match index terms against | 
| protected CompiledAutomaton | compiled | 
| protected Term | termterm containing the field, and possibly some pattern structure | 
CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE, CONSTANT_SCORE_BOOLEAN_REWRITE, CONSTANT_SCORE_FILTER_REWRITE, CONSTANT_SCORE_REWRITE, field, rewriteMethod, SCORING_BOOLEAN_QUERY_REWRITE, SCORING_BOOLEAN_REWRITE| Constructor and Description | 
|---|
| AutomatonQuery(Term term,
              Automaton automaton)Create a new AutomatonQuery from an  Automaton. | 
| AutomatonQuery(Term term,
              Automaton automaton,
              int maxDeterminizedStates)Create a new AutomatonQuery from an  Automaton. | 
| AutomatonQuery(Term term,
              Automaton automaton,
              int maxDeterminizedStates,
              boolean isBinary)Create a new AutomatonQuery from an  Automaton. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object obj) | 
| Automaton | getAutomaton()Returns the automaton used to create 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 query to a string, with  fieldassumed to be the 
 default field and omitted. | 
getField, getRewriteMethod, getTermsEnum, rewrite, setRewriteMethodprotected final Automaton automaton
protected final CompiledAutomaton compiled
protected final Term term
public AutomatonQuery(Term term, Automaton automaton)
Automaton.term - Term containing field and possibly some pattern structure. The
        term text is ignored.automaton - Automaton to run, terms that are accepted are considered a
        match.public AutomatonQuery(Term term, Automaton automaton, int maxDeterminizedStates)
Automaton.term - Term containing field and possibly some pattern structure. The
        term text is ignored.automaton - Automaton to run, terms that are accepted are considered a
        match.maxDeterminizedStates - maximum number of states in the resulting
   automata.  If the automata would need more than this many states
   TooComplextToDeterminizeException is thrown.  Higher number require more
   space but can process more complex automata.public AutomatonQuery(Term term, Automaton automaton, int maxDeterminizedStates, boolean isBinary)
Automaton.term - Term containing field and possibly some pattern structure. The
        term text is ignored.automaton - Automaton to run, terms that are accepted are considered a
        match.maxDeterminizedStates - maximum number of states in the resulting
   automata.  If the automata would need more than this many states
   TooComplextToDeterminizeException is thrown.  Higher number require more
   space but can process more complex automata.isBinary - if true, this automaton is already binary and
   will not go through the UTF32ToUTF8 conversionprotected 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 MultiTermQuerypublic String toString(String field)
Queryfield assumed to be the 
 default field and omitted.public Automaton getAutomaton()
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.