org.apache.lucene.search
Class RegexpQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.lucene.search.MultiTermQuery
          extended by org.apache.lucene.search.AutomatonQuery
              extended by org.apache.lucene.search.RegexpQuery
All Implemented Interfaces:
Cloneable

public class RegexpQuery
extends AutomatonQuery

A fast regular expression query based on the org.apache.lucene.util.automaton package.

The supported syntax is documented in the RegExp class. Note this might be different than other regular expression implementations. For some alternatives with different syntax, look under the sandbox.

Note this query can be slow, as it needs to iterate over many terms. In order to prevent extremely slow RegexpQueries, a Regexp term should not start with the expression .*

See Also:
RegExp
WARNING: This API is experimental and might change in incompatible ways in the next release.

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.AutomatonQuery
automaton, compiled, term
 
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
RegexpQuery(Term term)
          Constructs a query for terms matching term.
RegexpQuery(Term term, int flags)
          Constructs a query for terms matching term.
RegexpQuery(Term term, int flags, AutomatonProvider provider)
          Constructs a query for terms matching term.
 
Method Summary
 String toString(String field)
          Prints a user-readable version of this query.
 
Methods inherited from class org.apache.lucene.search.AutomatonQuery
equals, getTermsEnum, hashCode
 
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
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegexpQuery

public RegexpQuery(Term term)
Constructs a query for terms matching term.

By default, all regular expression features are enabled.

Parameters:
term - regular expression.

RegexpQuery

public RegexpQuery(Term term,
                   int flags)
Constructs a query for terms matching term.

Parameters:
term - regular expression.
flags - optional RegExp features from RegExp

RegexpQuery

public RegexpQuery(Term term,
                   int flags,
                   AutomatonProvider provider)
Constructs a query for terms matching term.

Parameters:
term - regular expression.
flags - optional RegExp features from RegExp
provider - custom AutomatonProvider for named automata
Method Detail

toString

public String toString(String field)
Prints a user-readable version of this query.

Overrides:
toString in class AutomatonQuery


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.