Documents - Autocomplete Get

Autocompletes incomplete query terms based on input text and matching terms in the index.

GET {endpoint}/indexes('{indexName}')/docs/search.autocomplete?api-version=2023-11-01&search={search}&suggesterName={suggesterName}
GET {endpoint}/indexes('{indexName}')/docs/search.autocomplete?api-version=2023-11-01&search={search}&suggesterName={suggesterName}&autocompleteMode={autocompleteMode}&$filter={$filter}&fuzzy={fuzzy}&highlightPostTag={highlightPostTag}&highlightPreTag={highlightPreTag}&minimumCoverage={minimumCoverage}&searchFields={searchFields}&$top={$top}

URI Parameters

Name In Required Type Description
endpoint
path True

string

The endpoint URL of the search service.

indexName
path True

string

The name of the index.

api-version
query True

string

Client Api Version.

search
query True

string

The incomplete term which should be auto-completed.

suggesterName
query True

string

The name of the suggester as specified in the suggesters collection that's part of the index definition.

$filter
query

string

An OData expression that filters the documents used to produce completed terms for the Autocomplete result.

$top
query

integer

int32

The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5.

autocompleteMode
query

AutocompleteMode

Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms.

fuzzy
query

boolean

A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.

highlightPostTag
query

string

A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled.

highlightPreTag
query

string

A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled.

minimumCoverage
query

number

double

A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.

searchFields
query

string[]

The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester.

Request Header

Name Required Type Description
x-ms-client-request-id

string

uuid

The tracking ID sent with the request to help with debugging.

Responses

Name Type Description
200 OK

AutocompleteResult

Response containing suggested query terms that complete the partial input.

Other Status Codes

SearchError

Error response.

Examples

SearchIndexAutocompleteDocumentsGet

Sample Request

GET https://myservice.search.windows.net/indexes('myindex')/docs/search.autocomplete?api-version=2023-11-01&search=washington medic&suggesterName=sg&autocompleteMode=oneTerm&fuzzy=False&highlightPostTag=</em>&highlightPreTag=<em>&minimumCoverage=80&searchFields=title,description

Sample Response

[
  {
    "text": "medicaid",
    "queryPlusText": "washington medicaid"
  },
  {
    "text": "medicare",
    "queryPlusText": "washington medicare"
  },
  {
    "text": "medicine",
    "queryPlusText": "washington medicine"
  }
]

Definitions

Name Description
AutocompleteItem

The result of Autocomplete requests.

AutocompleteMode

Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context in producing autocomplete terms.

AutocompleteResult

The result of Autocomplete query.

SearchError

Describes an error condition for the API.

AutocompleteItem

The result of Autocomplete requests.

Name Type Description
queryPlusText

string

The query along with the completed term.

text

string

The completed term.

AutocompleteMode

Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context in producing autocomplete terms.

Name Type Description
oneTerm

string

Only one term is suggested. If the query has two terms, only the last term is completed. For example, if the input is 'washington medic', the suggested terms could include 'medicaid', 'medicare', and 'medicine'.

oneTermWithContext

string

Completes the last term in a query with two or more terms, where the last two terms are a phrase that exists in the index. For example, if the input is 'washington medic', the suggested terms could include 'washington medicaid' and 'washington medical'.

twoTerms

string

Matching two-term phrases in the index will be suggested. For example, if the input is 'medic', the suggested terms could include 'medicare coverage' and 'medical assistant'.

AutocompleteResult

The result of Autocomplete query.

Name Type Description
@search.coverage

number

A value indicating the percentage of the index that was considered by the autocomplete request, or null if minimumCoverage was not specified in the request.

value

AutocompleteItem[]

The list of returned Autocompleted items.

SearchError

Describes an error condition for the API.

Name Type Description
code

string

One of a server-defined set of error codes.

details

SearchError[]

An array of details about specific errors that led to this reported error.

message

string

A human-readable representation of the error.