你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Documents - Autocomplete Get

根据索引中的输入文本和匹配字词自动完成不完整的查询词。

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 参数

名称 必需 类型 说明
endpoint
path True

string

搜索服务的终结点 URL。

indexName
path True

string

索引的名称。

api-version
query True

string

客户端 API 版本。

search
query True

string

应自动完成的不完整术语。

suggesterName
query True

string

建议器集合中指定的建议器的名称,该集合是索引定义的一部分。

$filter
query

string

一个 OData 表达式,用于筛选用于为自动完成结果生成已完成字词的文档。

$top
query

integer

int32

要检索的自动完成的术语数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。

autocompleteMode
query

AutocompleteMode

指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingle,使用“oneTermWithContext”使用当前上下文,同时生成自动完成的术语。

fuzzy
query

boolean

一个值,该值指示是否对自动完成查询使用模糊匹配。 默认值为 false。 如果设置为 true,则查询将查找字词,即使搜索文本中有替换字符或缺失字符也是如此。 虽然这在某些情况下提供更好的体验,但由于模糊的自动完成查询速度较慢并消耗更多资源,因此会降低性能。

highlightPostTag
query

string

追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 如果省略,则禁用命中突出显示。

highlightPreTag
query

string

一个字符串标记,在前面附加以命中突出显示。 必须使用 highlightPostTag 进行设置。 如果省略,则禁用命中突出显示。

minimumCoverage
query

number

double

介于 0 和 100 之间的数字,指示自动完成查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保搜索可用性,即使只有一个副本 (replica) 的服务也是如此。 默认值为“80”。

searchFields
query

string[]

查询自动完成的术语时要考虑的字段名称列表。 目标字段必须包含在指定的建议器中。

请求头

名称 必需 类型 说明
x-ms-client-request-id

string

uuid

随请求一起发送以帮助调试的跟踪 ID。

响应

名称 类型 说明
200 OK

AutocompleteResult

包含完成部分输入的建议查询词的响应。

Other Status Codes

SearchError

错误响应。

示例

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"
  }
]

定义

名称 说明
AutocompleteItem

自动完成请求的结果。

AutocompleteMode

指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingle,使用“oneTermWithContext”在生成自动完成术语时使用当前上下文。

AutocompleteResult

自动完成查询的结果。

SearchError

描述 API 的错误条件。

AutocompleteItem

自动完成请求的结果。

名称 类型 说明
queryPlusText

string

查询以及已完成的术语。

text

string

已完成的术语。

AutocompleteMode

指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingle,使用“oneTermWithContext”在生成自动完成术语时使用当前上下文。

名称 类型 说明
oneTerm

string

仅建议一个术语。 如果查询有两个词,则仅完成最后一个术语。 例如,如果输入为“washington medic”,则建议的术语可能包括“医疗补助”、“医疗保险”和“medicine”。

oneTermWithContext

string

使用两个或多个字词完成查询中的最后一个术语,其中最后两个字词是索引中存在的短语。 例如,如果输入为“华盛顿医疗”,则建议的术语可能包括“华盛顿医疗补助”和“华盛顿医疗”。

twoTerms

string

将建议索引中匹配的两个字词短语。 例如,如果输入为“medic”,则建议的术语可能包括“医疗保险”和“医疗助手”。

AutocompleteResult

自动完成查询的结果。

名称 类型 说明
@search.coverage

number

一个值,指示自动完成请求考虑的索引百分比;如果请求中未指定 minimumCoverage,则为 null。

value

AutocompleteItem[]

返回的自动完成项的列表。

SearchError

描述 API 的错误条件。

名称 类型 说明
code

string

服务器定义的一组错误代码中的一个。

details

SearchError[]

有关导致此项报告错误的特定错误的详细信息数组。

message

string

错误的用户可读表示形式。