CompletionQuery (Lucene 10.5.1 suggest API)
Description: declaration: package: org.apache.lucene.search.suggest.document, class: CompletionQuery

Package org.apache.lucene.search.suggest.document

# Class CompletionQuery

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

Direct Known Subclasses:
  `ContextQuery`, `PrefixCompletionQuery`, `RegexCompletionQuery`

public abstract class CompletionQuery extends Query
Abstract `Query` that match documents containing terms with a specified prefix filtered by `BitsProducer`. This should be used to query against any `SuggestField`s or `ContextSuggestField`s of documents.

Use `SuggestIndexSearcher.suggest(CompletionQuery, int, boolean)` to execute any query that provides a concrete implementation of this query. Example below shows using this query to retrieve the top 5 documents.

      SuggestIndexSearcher searcher = new SuggestIndexSearcher(reader);
      TopSuggestDocs suggestDocs = searcher.suggest(query, 5);

This query rewrites to an appropriate `CompletionQuery` depending on the type (`SuggestField` or `ContextSuggestField`) of the field the query is run against.

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

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CompletionQuery(Term term, BitsProducer filter)`
  Creates a base Completion query against a `term` with a `filter` to scope the documents

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getField()`
  Returns the field name this query should be run against
  `BitsProducer`
  `getFilter()`
  Returns a `BitsProducer`.
  `Term`
  `getTerm()`
  Returns the term to be queried against
  `Query`
  `rewrite(IndexSearcher indexSearcher)`
  `String`
  `toString(String field)`

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

  `classHash, createWeight, equals, hashCode, sameClassAs, toString, visit`

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

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

- ## Constructor Details

  - ### CompletionQuery

    protected CompletionQuery(Term term, BitsProducer filter)
    Creates a base Completion query against a `term` with a `filter` to scope the documents

- ## Method Details

  - ### getFilter

    public BitsProducer getFilter()
    Returns a `BitsProducer`. Only suggestions matching the returned bits will be returned.

  - ### getField

    public String getField()
    Returns the field name this query should be run against

  - ### getTerm

    public Term getTerm()
    Returns the term to be queried against

  - ### rewrite

    public Query rewrite(IndexSearcher indexSearcher) throws IOException
    Overrides:
      `rewrite` in class `Query`
    Throws:
      `IOException`

  - ### toString

    public String toString(String field)
    Specified by:
      `toString` in class `Query`