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

Documents - Suggest Get

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

GET {endpoint}/indexes('{indexName}')/docs/search.suggest?search={search}&suggesterName={suggesterName}&api-version=2023-11-01
GET {endpoint}/indexes('{indexName}')/docs/search.suggest?search={search}&suggesterName={suggesterName}&$filter={$filter}&fuzzy={fuzzy}&highlightPostTag={highlightPostTag}&highlightPreTag={highlightPreTag}&minimumCoverage={minimumCoverage}&$orderby={$orderby}&searchFields={searchFields}&$select={$select}&$top={$top}&api-version=2023-11-01

URI 参数

名称 必需 类型 说明
endpoint
path True

string

搜索服务的终结点 URL。

indexName
path True

string

索引的名称。

api-version
query True

string

客户端 API 版本。

search
query True

string

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

suggesterName
query True

string

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

$filter
query

string

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

$orderby
query

string[]

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

$select
query

string[]

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

$top
query

integer

int32

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

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

SuggestDocumentsResult

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

Other Status Codes

SearchError

错误响应。

示例

SearchIndexSuggestDocumentsGet

Sample Request

GET https://myservice.search.windows.net/indexes('myindex')/docs/search.suggest?search=hote&suggesterName=sg&$filter=rating gt 10&fuzzy=False&highlightPostTag=</em>&highlightPreTag=<em>&minimumCoverage=80&$orderby=search.score() desc,rating desc&searchFields=title&$select=docId,title,description&$top=10&api-version=2023-11-01

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

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

SuggestResult

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

SearchError

描述 API 的错误条件。

名称 类型 说明
code

string

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

details

SearchError[]

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

message

string

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

SuggestDocumentsResult

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

名称 类型 说明
@search.coverage

number

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

value

SuggestResult[]

查询返回的结果序列。

SuggestResult

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

名称 类型 说明
@search.text

string

建议结果的文本。