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

Documents - Autocomplete Post

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

POST {endpoint}/indexes('{indexName}')/docs/search.post.autocomplete?api-version=2023-11-01

URI 参数

名称 必需 类型 说明
endpoint
path True

string

搜索服务的终结点 URL。

indexName
path True

string

索引的名称。

api-version
query True

string

客户端 API 版本。

请求头

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

string

uuid

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

请求正文

名称 必需 类型 说明
search True

string

自动完成结果所基于的搜索文本。

suggesterName True

string

作为索引定义的一部分的建议器集合中指定的建议器的名称。

autocompleteMode

AutocompleteMode

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

filter

string

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

fuzzy

boolean

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

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

searchFields

string

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

top

integer

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

响应

名称 类型 说明
200 OK

AutocompleteResult

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

Other Status Codes

SearchError

错误响应。

示例

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

定义

名称 说明
AutocompleteItem

自动完成请求的结果。

AutocompleteMode

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

AutocompleteRequest

用于模糊匹配和其他自动完成查询行为的参数。

AutocompleteResult

自动完成查询的结果。

SearchError

描述 API 的错误条件。

AutocompleteItem

自动完成请求的结果。

名称 类型 说明
queryPlusText

string

查询以及已完成的字词。

text

string

已完成的术语。

AutocompleteMode

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

名称 类型 说明
oneTerm

string

仅建议一个术语。 如果查询包含两个字词,则仅完成最后一个字词。 例如,如果输入为“washington medic”,则建议的术语可能包括“medicaid”、“medicare”和“medicine”。

oneTermWithContext

string

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

twoTerms

string

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

AutocompleteRequest

用于模糊匹配和其他自动完成查询行为的参数。

名称 类型 说明
autocompleteMode

AutocompleteMode

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

filter

string

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

fuzzy

boolean

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

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

search

string

自动完成结果所基于的搜索文本。

searchFields

string

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

suggesterName

string

作为索引定义的一部分的建议器集合中指定的建议器的名称。

top

integer

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

AutocompleteResult

自动完成查询的结果。

名称 类型 说明
@search.coverage

number

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

value

AutocompleteItem[]

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

SearchError

描述 API 的错误条件。

名称 类型 说明
code

string

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

details

SearchError[]

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

message

string

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