org.apache.lucene.search.suggest.document

## Class RegexCompletionQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.suggest.document.CompletionQuery
    - - org.apache.lucene.search.suggest.document.RegexCompletionQuery

    public class RegexCompletionQuery
    extends CompletionQuery

A `CompletionQuery` which takes a regular expression as the prefix of the query term.

Example usage of querying a prefix of 'sug' and 'sub' as a regular expression against a suggest field 'suggest_field':

      CompletionQuery query = new RegexCompletionQuery(new Term("suggest_field", "su[g|b]"));

See `RegExp` for the supported regular expression syntax

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

### Constructor Summary

Constructors
Constructor and Description
`RegexCompletionQuery(Term term)` Calls `RegexCompletionQuery(Term, BitsProducer)` with no filter
`RegexCompletionQuery(Term term, BitsProducer filter)` Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` enabling all optional regex syntax and `maxDeterminizedStates` of
`RegexCompletionQuery(Term term, int flags, int maxDeterminizedStates)` Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` with no filter
`RegexCompletionQuery(Term term, int flags, int maxDeterminizedStates, BitsProducer filter)` Constructs a regular expression completion query

### Method Summary

All Methods Instance Methods Concrete Methods
`Weight` `createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
`boolean` `equals(Object o)`
`int` `getFlags()` Get the regex flags
`int` `getMaxDeterminizedStates()` Get the maximum number of states permitted in the determinized automaton
`int` `hashCode()`
`void` `visit(QueryVisitor visitor)`

### Methods inherited from class org.apache.lucene.search.suggest.document.CompletionQuery

`getField, getFilter, getTerm, rewrite, toString`

### Methods inherited from class org.apache.lucene.search.Query

`classHash, sameClassAs, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### RegexCompletionQuery

    public RegexCompletionQuery(Term term)

Calls `RegexCompletionQuery(Term, BitsProducer)` with no filter

#### RegexCompletionQuery

    public RegexCompletionQuery(Term term,
                                BitsProducer filter)

Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` enabling all optional regex syntax and `maxDeterminizedStates` of

#### RegexCompletionQuery

    public RegexCompletionQuery(Term term,
                                int flags,
                                int maxDeterminizedStates)

Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` with no filter

#### RegexCompletionQuery

    public RegexCompletionQuery(Term term,
                                int flags,
                                int maxDeterminizedStates,
                                BitsProducer filter)

Constructs a regular expression completion query

Parameters:
  `term` - query is run against `Term.field()` and `Term.text()` is interpreted as a regular expression
  `flags` - used as syntax_flag in `RegExp.RegExp(String, int)`
  `maxDeterminizedStates` - used in `RegExp.toAutomaton(int)`
  `filter` - used to query on a sub set of documents

### Method Detail

#### createWeight

    public Weight createWeight(IndexSearcher searcher,
                               ScoreMode scoreMode,
                               float boost)
                        throws IOException

Overrides:
  `createWeight` in class `Query`
Throws:
  `IOException`

#### getFlags

    public int getFlags()

Get the regex flags

#### getMaxDeterminizedStates

    public int getMaxDeterminizedStates()

Get the maximum number of states permitted in the determinized automaton

#### equals

    public boolean equals(Object o)

Specified by:
  `equals` in class `Query`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `Query`

#### visit

    public void visit(QueryVisitor visitor)

Overrides:
  `visit` in class `Query`