Documents - Autocomplete Post
根据索引中的输入文本和匹配词自动完成不完整的查询词。
POST {endpoint}/indexes('{indexName}')/docs/search.post.autocomplete?api-version=2023-11-01
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string |
搜索服务的终结点 URL。 |
|
index
|
path | True |
string |
索引的名称。 |
|
api-version
|
query | True |
string |
客户端 API 版本。 |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
随请求一起发送的跟踪 ID,以帮助进行调试。 |
请求正文
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| search | True |
string |
要基于其自动完成结果的搜索文本。 |
| suggesterName | True |
string |
作为索引定义的一部分的建议器集合中指定的建议器的名称。 |
| autocompleteMode |
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingles 和“oneTermWithContext”,在生成自动完成的术语时使用当前上下文。 |
||
| filter |
string |
一个 OData 表达式,用于筛选用于为自动完成结果生成已完成字词的文档。 |
|
| fuzzy |
boolean |
一个值,该值指示是否对自动完成查询使用模糊匹配。 默认值为 false。 设置为 true 时,即使搜索文本中有替换字符或缺失字符,查询也会自动完成字词。 尽管在某些方案中提供了更好的体验,但由于模糊的自动完成查询速度较慢且消耗更多资源,因此其性能成本更高。 |
|
| highlightPostTag |
string |
追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 如果省略,将禁用命中突出显示。 |
|
| highlightPreTag |
string |
前面追加的字符串标记以命中突出显示。 必须使用 highlightPostTag 进行设置。 如果省略,将禁用命中突出显示。 |
|
| minimumCoverage |
number (double) |
介于 0 和 100 之间的数字,指示自动完成查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保仅包含一个副本的服务的搜索可用性。 默认值为 80。 |
|
| searchFields |
string |
查询自动完成的术语时要考虑的字段名称的逗号分隔列表。 目标字段必须包含在指定的建议器中。 |
|
| top |
integer (int32) |
要检索的自动完成术语数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
包含完成部分输入的建议查询词的响应。 |
|
| Other Status Codes |
错误响应。 |
示例
SearchIndexAutocompleteDocumentsPost
示例请求
POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.autocomplete?api-version=2023-11-01
{
"autocompleteMode": "oneTerm",
"search": "washington medic",
"suggesterName": "sg",
"filter": "search.in(docId,'101,102,105')",
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"minimumCoverage": 80,
"searchFields": "title,description",
"top": 10
}
示例响应
[
{
"text": "medicaid",
"queryPlusText": "washington medicaid"
},
{
"text": "medicare",
"queryPlusText": "washington medicare"
},
{
"text": "medicine",
"queryPlusText": "washington medicine"
}
]
定义
| 名称 | 说明 |
|---|---|
|
Autocomplete |
自动完成请求的结果。 |
|
Autocomplete |
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingles 和“oneTermWithContext”,以在生成自动完成术语时使用当前上下文。 |
|
Autocomplete |
模糊匹配和其他自动完成查询行为的参数。 |
|
Autocomplete |
自动完成查询的结果。 |
|
Search |
描述 API 的错误条件。 |
AutocompleteItem
自动完成请求的结果。
| 名称 | 类型 | 说明 |
|---|---|---|
| queryPlusText |
string |
查询以及已完成的术语。 |
| text |
string |
已完成的术语。 |
AutocompleteMode
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingles 和“oneTermWithContext”,以在生成自动完成术语时使用当前上下文。
| 值 | 说明 |
|---|---|
| oneTerm |
建议只使用一个术语。 如果查询有两个术语,则仅完成最后一个术语。 例如,如果输入为“华盛顿医生”,建议的术语可能包括“医疗补助”、“医疗保险”和“医学”。 |
| twoTerms |
建议在索引中匹配两个术语短语。 例如,如果输入为“医疗”,建议的术语可能包括“医疗保险”和“医疗助理”。 |
| oneTermWithContext |
使用两个或更多个字词完成查询中的最后一个术语,其中最后两个字词是索引中存在的短语。 例如,如果输入是“华盛顿医生”,建议的术语可能包括“华盛顿医疗补助”和“华盛顿医疗”。 |
AutocompleteRequest
模糊匹配和其他自动完成查询行为的参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| autocompleteMode |
指定自动完成的模式。 默认值为“oneTerm”。 使用“twoTerms”获取 shingles 和“oneTermWithContext”,在生成自动完成的术语时使用当前上下文。 |
|
| filter |
string |
一个 OData 表达式,用于筛选用于为自动完成结果生成已完成字词的文档。 |
| fuzzy |
boolean |
一个值,该值指示是否对自动完成查询使用模糊匹配。 默认值为 false。 设置为 true 时,即使搜索文本中有替换字符或缺失字符,查询也会自动完成字词。 尽管在某些方案中提供了更好的体验,但由于模糊的自动完成查询速度较慢且消耗更多资源,因此其性能成本更高。 |
| highlightPostTag |
string |
追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 如果省略,将禁用命中突出显示。 |
| highlightPreTag |
string |
前面追加的字符串标记以命中突出显示。 必须使用 highlightPostTag 进行设置。 如果省略,将禁用命中突出显示。 |
| minimumCoverage |
number (double) |
介于 0 和 100 之间的数字,指示自动完成查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保仅包含一个副本的服务的搜索可用性。 默认值为 80。 |
| search |
string |
要基于其自动完成结果的搜索文本。 |
| searchFields |
string |
查询自动完成的术语时要考虑的字段名称的逗号分隔列表。 目标字段必须包含在指定的建议器中。 |
| suggesterName |
string |
作为索引定义的一部分的建议器集合中指定的建议器的名称。 |
| top |
integer (int32) |
要检索的自动完成术语数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。 |
AutocompleteResult
自动完成查询的结果。
| 名称 | 类型 | 说明 |
|---|---|---|
| @search.coverage |
number (double) |
一个值,该值指示自动完成请求考虑的索引百分比;如果未在请求中指定 minimumCoverage,则为 null。 |
| value |
返回的自动完成项的列表。 |
SearchError
描述 API 的错误条件。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
服务器定义的错误代码集之一。 |
| details |
导致此报告错误的特定错误的详细信息数组。 |
|
| message |
string |
错误的人工可读表示形式。 |