Package 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
Description
`RegexCompletionQuery(Term term)`
Calls `RegexCompletionQuery(Term, BitsProducer)` with no filter
`RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit)`
Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` with no filter
`RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit, BitsProducer filter)`
Constructs a regular expression completion query
`RegexCompletionQuery(Term term, BitsProducer filter)`
Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` enabling all optional regex syntax and `determinizeWorkLimit` of 10000

## Method Summary

Modifier and Type
Method
Description
`Weight`
`createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
`boolean`
`equals(Object o)`
`int`
`getDeterminizeWorkLimit()`
Get the maximum effort permitted to determinize the automaton
`int`
`getFlags()`
Get the regex flags
`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 Details

### 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 `determinizeWorkLimit` of 10000

### RegexCompletionQuery

public RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit)
Calls `RegexCompletionQuery(Term, int, int, BitsProducer)` with no filter

### RegexCompletionQuery

public RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit, 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(String, int)`
  `determinizeWorkLimit` - used in `Operations.determinize(Automaton, int)`
  `filter` - used to query on a sub set of documents

## Method Details

### 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

### getDeterminizeWorkLimit

public int getDeterminizeWorkLimit()
Get the maximum effort permitted to determinize the 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)

Specified by:
  `visit` in class `Query`