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

- All Implemented Interfaces:
    Cloneable

      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 10000
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Weight` | `createWeight(IndexSearcher searcher, boolean needsScores)`

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

      `clone, equals, getBoost, hashCode, setBoost, toString`

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

      `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 10000

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

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