你当前正在访问 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。 |
index
|
path | True |
string |
索引的名称。 |
api-version
|
query | True |
string |
客户端 API 版本。 |
search
|
query | True |
string |
应自动完成的不完整术语。 |
suggester
|
query | True |
string |
建议器集合中指定的建议器的名称,该集合是索引定义的一部分。 |
$filter
|
query |
string |
一个 OData 表达式,用于筛选用于为自动完成结果生成已完成字词的文档。 |
|
$top
|
query |
integer int32 |
要检索的自动完成的术语数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。 |
|
autocomplete
|
query |
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingle,使用“oneTermWithContext”使用当前上下文,同时生成自动完成的术语。 |
||
fuzzy
|
query |
boolean |
一个值,该值指示是否对自动完成查询使用模糊匹配。 默认值为 false。 如果设置为 true,则查询将查找字词,即使搜索文本中有替换字符或缺失字符也是如此。 虽然这在某些情况下提供更好的体验,但由于模糊的自动完成查询速度较慢并消耗更多资源,因此会降低性能。 |
|
highlight
|
query |
string |
追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 如果省略,则禁用命中突出显示。 |
|
highlight
|
query |
string |
一个字符串标记,在前面附加以命中突出显示。 必须使用 highlightPostTag 进行设置。 如果省略,则禁用命中突出显示。 |
|
minimum
|
query |
number double |
介于 0 和 100 之间的数字,指示自动完成查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保搜索可用性,即使只有一个副本 (replica) 的服务也是如此。 默认值为“80”。 |
|
search
|
query |
string[] |
查询自动完成的术语时要考虑的字段名称列表。 目标字段必须包含在指定的建议器中。 |
请求头
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
x-ms-client-request-id |
string uuid |
随请求一起发送以帮助调试的跟踪 ID。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
包含完成部分输入的建议查询词的响应。 |
|
Other Status Codes |
错误响应。 |
示例
SearchIndexAutocompleteDocumentsGet
示例请求
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
示例响应
[
{
"text": "medicaid",
"queryPlusText": "washington medicaid"
},
{
"text": "medicare",
"queryPlusText": "washington medicare"
},
{
"text": "medicine",
"queryPlusText": "washington medicine"
}
]
定义
名称 | 说明 |
---|---|
Autocomplete |
自动完成请求的结果。 |
Autocomplete |
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingle,使用“oneTermWithContext”在生成自动完成术语时使用当前上下文。 |
Autocomplete |
自动完成查询的结果。 |
Search |
描述 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 |
返回的自动完成项的列表。 |
SearchError
描述 API 的错误条件。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
服务器定义的一组错误代码中的一个。 |
details |
有关导致此项报告错误的特定错误的详细信息数组。 |
|
message |
string |
错误的用户可读表示形式。 |