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
    Modifier and Type | Method and Description
    --- | ---
    `Weight` | `createWeight(IndexSearcher searcher, boolean needsScores)`
    `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()`

    - ### 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,
                                     boolean needsScores)
                              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`

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