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`