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

Documents - Suggest Post

建议索引中与给定部分查询文本匹配的文档。

POST {endpoint}/indexes('{indexName}')/docs/search.post.suggest?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

用于建议文档的搜索文本。 必须至少为 1 个字符,并且不超过 100 个字符。

suggesterName True

string

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

filter

string

一个 OData 表达式,用于筛选考虑建议的文档。

fuzzy

boolean

一个 值,该值指示是否对建议查询使用模糊匹配。 默认值为 false。 设置为 true 时,即使搜索文本中存在替换字符或缺失字符,查询也会查找建议。 尽管这在某些情况下可以提供更好的体验,但会带来性能的损失,因为模糊建议搜索速度更慢,并会消耗更多的资源。

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

orderby

string

OData 的逗号分隔列表$orderby对结果进行排序的表达式。 每个表达式可以是字段名称,也可以是对 geo.distance () 或 search.score () 函数的调用。 每个表达式后跟 asc 表示升序,desc 表示降序。 默认值为升序。 排序的依据将是文档的匹配分数。 如果未指定$orderby,则默认排序顺序为按文档匹配分数降序。 最多可以有 32 个$orderby子句。

searchFields

string

要搜索指定搜索文本的字段名称的逗号分隔列表。 目标字段必须包含在指定的建议器中。

select

string

要检索的字段的逗号分隔列表。 如果未指定,则结果中仅包含键字段。

top

integer

要检索的建议数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。

响应

名称 类型 说明
200 OK

SuggestDocumentsResult

包含与部分输入匹配的建议文档的响应。

Other Status Codes

SearchError

错误响应。

示例

SearchIndexSuggestDocumentsPost

Sample Request

POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.suggest?api-version=2023-11-01

{
  "filter": "rating gt 4.0",
  "highlightPostTag": "</em>",
  "highlightPreTag": "<em>",
  "minimumCoverage": 80,
  "orderby": "rating desc",
  "search": "hote",
  "searchFields": "title",
  "select": "docId,title,description",
  "suggesterName": "sg",
  "top": 10
}

Sample Response

{
  "value": [
    {
      "@search.text": "Nice <em>Hotel</em>",
      "description": "Cheapest hotel in town",
      "docId": "1",
      "title": "Nice Hotel"
    },
    {
      "@search.text": "Fancy <em>Hotel</em>",
      "description": "Best hotel in town",
      "docId": "2",
      "title": "Fancy Hotel"
    }
  ]
}

定义

名称 说明
SearchError

描述 API 的错误条件。

SuggestDocumentsResult

包含来自索引的建议查询结果的响应。

SuggestRequest

用于筛选、排序、模糊匹配和其他建议查询行为的参数。

SuggestResult

包含建议查询找到的文档以及关联的元数据的结果。

SearchError

描述 API 的错误条件。

名称 类型 说明
code

string

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

details

SearchError[]

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

message

string

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

SuggestDocumentsResult

包含来自索引的建议查询结果的响应。

名称 类型 说明
@search.coverage

number

指示查询中包含的索引百分比的值;如果未在请求中设置 minimumCoverage,则为 null。

value

SuggestResult[]

查询返回的结果序列。

SuggestRequest

用于筛选、排序、模糊匹配和其他建议查询行为的参数。

名称 类型 说明
filter

string

一个 OData 表达式,用于筛选考虑建议的文档。

fuzzy

boolean

一个 值,该值指示是否对建议查询使用模糊匹配。 默认值为 false。 设置为 true 时,即使搜索文本中存在替换字符或缺失字符,查询也会查找建议。 尽管这在某些情况下可以提供更好的体验,但会带来性能的损失,因为模糊建议搜索速度更慢,并会消耗更多的资源。

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

orderby

string

OData 的逗号分隔列表$orderby对结果进行排序的表达式。 每个表达式可以是字段名称,也可以是对 geo.distance () 或 search.score () 函数的调用。 每个表达式后跟 asc 表示升序,desc 表示降序。 默认值为升序。 排序的依据将是文档的匹配分数。 如果未指定$orderby,则默认排序顺序为按文档匹配分数降序。 最多可以有 32 个$orderby子句。

search

string

用于建议文档的搜索文本。 必须至少为 1 个字符,并且不超过 100 个字符。

searchFields

string

要搜索指定搜索文本的字段名称的逗号分隔列表。 目标字段必须包含在指定的建议器中。

select

string

要检索的字段的逗号分隔列表。 如果未指定,则结果中仅包含键字段。

suggesterName

string

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

top

integer

要检索的建议数。 此值必须是介于 1 和 100 之间的值。 默认值为 5。

SuggestResult

包含建议查询找到的文档以及关联的元数据的结果。

名称 类型 说明
@search.text

string

建议结果的文本。