Documents - Search Post
在索引中搜索文档。
POST {endpoint}/indexes('{indexName}')/docs/search.post.search?api-version=2024-05-01-preview
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string |
搜索服务的终结点 URL。 |
|
index
|
path | True |
string |
索引的名称。 |
|
api-version
|
query | True |
string |
客户端 API 版本。 |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
随请求一起发送的跟踪 ID,以帮助进行调试。 |
请求正文
| 名称 | 类型 | 说明 |
|---|---|---|
| answers |
一个值,该值指定是否应作为搜索响应的一部分返回答案。 |
|
| captions |
一个值,该值指定是否应返回标题作为搜索响应的一部分。 |
|
| count |
boolean |
一个值,该值指定是否提取结果总数。 默认值为 false。 将此值设置为 true 可能会影响性能。 请注意,返回的计数是近似值。 |
| debug |
启用可用于进一步探索重新调整结果的调试工具。 |
|
| facets |
string[] |
要应用于搜索查询的分面表达式列表。 每个分面表达式都包含一个字段名称,可以选择后跟逗号分隔的名称:值对列表。 |
| filter |
string |
要应用于搜索查询的 OData $filter表达式。 |
| highlight |
string |
用于命中突出显示的字段名称的逗号分隔列表。 只能使用可搜索字段进行命中突出显示。 |
| highlightPostTag |
string |
追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 默认值为 /em <>。 |
| highlightPreTag |
string |
前面追加的字符串标记以命中突出显示。 必须使用 highlightPostTag 进行设置。 默认值为 em<>。 |
| hybridSearch |
用于配置混合搜索行为的查询参数。 |
|
| minimumCoverage |
number (double) |
介于 0 和 100 之间的数字,指示搜索查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保仅包含一个副本的服务的搜索可用性。 默认值为 100。 |
| orderby |
string |
OData 的逗号分隔列表$orderby用于对结果进行排序的表达式。 每个表达式可以是字段名称,也可以是对 geo.distance() 或 search.score() 函数的调用。 每个表达式后跟 asc 以指示升序,或 desc 表示降序。 默认值为升序。 关系将由匹配文档的分数中断。 如果未指定$orderby,则默认排序顺序按文档匹配分数降序。 最多可以有 32 个$orderby子句。 |
| queryLanguage |
一个指定搜索查询语言的值。 |
|
| queryType |
一个值,指定搜索查询的语法。 默认值为“simple”。 如果查询使用 Lucene 查询语法,请使用“full”。 |
|
| scoringParameters |
string[] |
在评分函数(例如 referencePointParameter)中使用格式名称值的参数值列表。 例如,如果计分配置文件使用名为“mylocation”的参数定义函数,则参数字符串将为“mylocation--122.2,44.8”(不含引号)。 |
| scoringProfile |
string |
要评估匹配文档的匹配分数的计分配置文件的名称,以便对结果进行排序。 |
| scoringStatistics |
一个值,该值指定是全局计算计分统计信息(如文档频率),以更一致评分,还是在本地计算延迟较低。 默认值为“local”。 在评分之前,使用“全局”全局聚合评分统计信息。 使用全局计分统计信息可以提高搜索查询的延迟。 |
|
| search |
string |
全文搜索查询表达式;使用“*”或省略此参数以匹配所有文档。 |
| searchFields |
string |
要限定全文搜索范围的字段名称的逗号分隔列表。 在完整的 Lucene 查询中使用字段搜索(fieldName:searchExpression),每个字段搜索表达式的字段名称优先于此参数中列出的任何字段名称。 |
| searchMode |
一个值,该值指定是否必须匹配任何搜索词或全部搜索词,以便将文档计数为匹配项。 |
|
| select |
string |
要检索的字段的逗号分隔列表。 如果未指定,则包含标记为在架构中可检索的所有字段。 |
| semanticConfiguration |
string |
处理类型语义查询的文档时将使用的语义配置的名称。 |
| semanticErrorHandling |
允许用户选择语义调用是否应完全失败,还是返回部分结果(默认值)。 |
|
| semanticFields |
string |
用于语义排名的字段名称的逗号分隔列表。 |
| semanticMaxWaitInMilliseconds |
integer (int32) minimum: 700 |
允许用户在请求失败之前设置语义扩充完成处理所需的时间上限。 |
| semanticQuery |
string |
允许设置单独的搜索查询,该查询将仅用于语义重排、语义标题和语义答案。 对于需要在基础检索和排名阶段和 L2 语义阶段之间使用不同的查询的情况,非常有用。 |
| sessionId |
string |
用于创建粘滞会话的值,有助于获取更一致的结果。 只要使用了同一 sessionId,就会尝试以相同的副本集为目标。 谨慎地重复使用相同的 sessionID 值可能会干扰跨副本的请求负载均衡,并对搜索服务的性能产生不利影响。 用作 sessionId 的值不能以“_”字符开头。 |
| skip |
integer (int32) |
要跳过的搜索结果数。 此值不能大于 100,000。 如果需要按顺序扫描文档,但由于此限制而无法使用 skip,请考虑改用完全排序的键并使用范围查询进行筛选。 |
| speller |
一个值,指定用于拼写更正单个搜索查询词的拼写器的类型。 |
|
| top |
integer (int32) |
要检索的搜索结果数。 这可以与$skip结合使用来实现搜索结果的客户端分页。 如果由于服务器端分页而截断结果,响应将包含一个延续标记,该标记可用于发出下一页结果的另一个搜索请求。 |
| vectorFilterMode |
确定是否在执行矢量搜索之前或之后应用筛选器。 默认值为“preFilter”。 |
|
| vectorQueries | VectorQuery[]: |
矢量和混合搜索查询的查询参数。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
包含与搜索条件匹配的文档的响应。 |
|
| Other Status Codes |
错误响应。 |
示例
SearchIndexSearchDocumentsPost
示例请求
POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2024-05-01-preview
{
"count": true,
"facets": [
"category,count:10,sort:count"
],
"filter": "rating gt 4.0",
"highlight": "description",
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"hybridSearch": {
"maxTextRecallSize": 100,
"countAndFacetMode": "countAllResults"
},
"minimumCoverage": null,
"orderby": "rating desc",
"queryType": "simple",
"scoringParameters": [
"currentLocation--122.123,44.77233"
],
"scoringProfile": "sp",
"search": "nice hotels",
"searchFields": "category,description",
"searchMode": "any",
"sessionId": "mysessionid",
"scoringStatistics": "global",
"select": "hotelId,description",
"skip": 0,
"top": 10,
"vectorQueries": [
{
"kind": "vector",
"vector": [
0.103,
0.0712,
0.0852,
0.1547,
0.1183
],
"fields": "descriptionEmbedding",
"k": 5,
"exhaustive": true,
"oversampling": 20,
"weight": 2,
"threshold": {
"kind": "vectorSimilarity",
"value": 0.8
}
}
],
"vectorFilterMode": "preFilter"
}
示例响应
{
"@odata.count": 25,
"@search.facets": {
"category": [
{
"count": 1,
"value": "Economy"
},
{
"count": 1,
"value": "Luxury"
}
]
},
"@search.nextPageParameters": {
"count": true,
"facets": [
"category,count:10,sort:count"
],
"filter": "rating gt 4.0",
"highlight": "title",
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"hybridSearch": {
"maxTextRecallSize": 100,
"countAndFacetMode": "countAllResults"
},
"minimumCoverage": null,
"orderby": "search.score() desc,rating desc",
"queryType": "simple",
"sessionId": "mysessionid",
"scoringStatistics": "global",
"scoringParameters": [
"currentLocation--122.123,44.77233"
],
"scoringProfile": "sp",
"search": "nice hotels",
"searchFields": "title,description",
"searchMode": "any",
"select": "docId,title,description",
"skip": 2,
"top": 8
},
"value": [
{
"@search.score": 1.5,
"@search.highlights": {
"title": [
"<em>Nice</em> <em>Hotel</em>"
]
},
"description": "Cheapest hotel in town",
"docId": "1",
"title": "Nice Hotel"
},
{
"@search.score": 0.7,
"@search.highlights": {
"title": [
"Fancy <em>Hotel</em>"
]
},
"description": "Best hotel in town",
"docId": "2",
"title": "Fancy Hotel"
}
],
"@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2024-05-01-preview"
}
定义
| 名称 | 说明 |
|---|---|
|
Answer |
答案是从与查询匹配的最相关文档的内容中提取的文本段落。 答案是从排名靠前的搜索结果中提取的。 对考生进行评分,并且选择了排名靠前的答案。 |
|
Caption |
标题是文档相对于搜索查询最具代表性的段落。 它们通常用作文档摘要。 仅针对类型为“semantic”的查询返回标题。 |
|
Document |
包含可用于进一步浏览搜索结果的调试信息。 |
|
Error |
资源管理错误附加信息。 |
|
Error |
错误详细信息。 |
|
Error |
错误响应 |
|
Hybrid |
确定计数和方面应包括匹配搜索查询的所有文档,还是仅包括“maxTextRecallSize”窗口中检索的文档。 默认值为“countAllResults”。 |
|
Hybrid |
用于配置混合搜索行为的查询参数。 |
|
Query |
一个值,该值指定是否应作为搜索响应的一部分返回答案。 |
|
Query |
一个值,该值指定是否应返回标题作为搜索响应的一部分。 |
|
Query |
启用可用于进一步浏览搜索结果的调试工具。 |
|
Query |
查询的语言。 |
|
Query |
发送到语义扩充过程的原始串联字符串。 |
|
Query |
发送到语义扩充过程的字段的说明以及它们的使用方式 |
|
Query |
一个值,指定用于拼写更正单个搜索查询词的拼写器的类型。 |
|
Query |
指定搜索查询的语法。 默认值为“simple”。 如果查询使用 Lucene 查询语法,则使用“full”;如果不需要查询语法,请使用“semantic”。 |
|
Raw |
提供原始向量值时用于矢量搜索的查询参数。 |
|
Scoring |
一个值,该值指定是全局计算计分统计信息(如文档频率),以更一致评分,还是在本地计算延迟较低。 默认值为“local”。 在评分之前,使用“全局”全局聚合评分统计信息。 使用全局计分统计信息可以提高搜索查询的延迟。 |
|
Search |
包含索引搜索结果的响应。 |
|
Search |
指定是否必须匹配任何搜索词或所有搜索词,以便将文档计数为匹配项。 |
|
Search |
用于筛选、排序、分面、分页和其他搜索查询行为的参数。 |
|
Search |
包含搜索查询找到的文档,以及关联的元数据。 |
|
Search |
矢量查询的结果将基于“@search.score”值进行筛选。 请注意,这是作为搜索响应的一部分返回的 @search.score。 将为更高的 @search.score选择阈值方向。 |
|
Semantic |
|
|
Semantic |
允许用户选择语义调用是否应完全失败,还是返回部分结果(默认值)。 |
|
Semantic |
语义排名请求返回部分响应的原因。 |
|
Semantic |
字段用于语义扩充过程的方式(完全使用、部分使用或未使用) |
|
Semantic |
为语义排名请求返回的部分响应的类型。 |
|
Vector |
确定是否在执行矢量搜索之前或之后应用筛选器。 |
|
Vectorizable |
提供需要矢量化的图像的 base 64 编码二进制文件时,用于矢量搜索的查询参数。 |
|
Vectorizable |
提供表示需要矢量化的图像值的 URL 时用于矢量搜索的查询参数。 |
|
Vectorizable |
提供需要矢量化的文本值时用于矢量搜索的查询参数。 |
|
Vector |
要执行的矢量查询的类型。 |
|
Vector |
将基于矢量相似性指标筛选矢量查询的结果。 请注意,这是相似性指标的规范定义,而不是“距离”版本。 将根据字段使用的指标自动选择阈值方向(较大或更小)。 |
|
Vector |
要执行的矢量查询的类型。 |
AnswerResult
答案是从与查询匹配的最相关文档的内容中提取的文本段落。 答案是从排名靠前的搜索结果中提取的。 对考生进行评分,并且选择了排名靠前的答案。
| 名称 | 类型 | 说明 |
|---|---|---|
| highlights |
string |
与 Text 属性中的文本段落相同,其中突出显示的文本短语与查询最相关的文本短语。 |
| key |
string |
从中提取答案的文档的键。 |
| score |
number (double) |
分数值表示答案与查询相对于为查询返回的其他答案的相关性。 |
| text |
string |
从文档内容中提取的文本段落作为答案。 |
CaptionResult
标题是文档相对于搜索查询最具代表性的段落。 它们通常用作文档摘要。 仅针对类型为“semantic”的查询返回标题。
| 名称 | 类型 | 说明 |
|---|---|---|
| highlights |
string |
与 Text 属性中的文本段落相同,其中突出显示的短语与查询最相关的短语。 |
| text |
string |
从文档中提取的与搜索查询最相关的代表性文本段落。 |
DocumentDebugInfo
包含可用于进一步浏览搜索结果的调试信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| semantic |
包含特定于语义排名请求的调试信息。 |
ErrorAdditionalInfo
资源管理错误附加信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| info |
object |
其他信息。 |
| type |
string |
其他信息类型。 |
ErrorDetail
错误详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| additionalInfo |
错误附加信息。 |
|
| code |
string |
错误代码。 |
| details |
错误详细信息。 |
|
| message |
string |
错误消息。 |
| target |
string |
错误目标。 |
ErrorResponse
错误响应
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
错误对象。 |
HybridCountAndFacetMode
确定计数和方面应包括匹配搜索查询的所有文档,还是仅包括“maxTextRecallSize”窗口中检索的文档。 默认值为“countAllResults”。
| 值 | 说明 |
|---|---|
| countRetrievableResults |
仅包括计算“count”和“facet”时在“maxTextRecallSize”检索窗口中匹配的文档。 |
| countAllResults |
包括计算“count”和“facet”时搜索查询匹配的所有文档,无论这些文档是否位于“maxTextRecallSize”检索窗口中。 |
HybridSearch
用于配置混合搜索行为的查询参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| countAndFacetMode |
确定计数和方面应包括匹配搜索查询的所有文档,还是仅包括“maxTextRecallSize”窗口中检索的文档。 |
|
| maxTextRecallSize |
integer (int32) |
确定混合搜索请求的文本查询部分要检索的最大文档数。 这些文档将与与矢量查询匹配的文档组合在一起,以生成单个最终结果列表。 选择更大的 maxTextRecallSize 值将允许检索和分页更多文档(使用顶部和跳过参数),代价是资源利用率较高和延迟较高。 该值需要介于 1 到 10,000 之间。 默认值为 1000。 |
QueryAnswerType
一个值,该值指定是否应作为搜索响应的一部分返回答案。
| 值 | 说明 |
|---|---|
| none |
不要返回查询的答案。 |
| extractive |
从以自然语言表示的查询中返回的文档内容中提取答案候选项。 |
QueryCaptionType
一个值,该值指定是否应返回标题作为搜索响应的一部分。
| 值 | 说明 |
|---|---|
| none |
不要返回查询的标题。 |
| extractive |
从匹配的文档中提取标题,其中包含与搜索查询相关的段落。 |
QueryDebugMode
启用可用于进一步浏览搜索结果的调试工具。
| 值 | 说明 |
|---|---|
| disabled |
不会返回查询调试信息。 |
| semantic |
允许用户进一步探索其重新添加的结果。 |
QueryLanguage
查询的语言。
| 值 | 说明 |
|---|---|
| none |
未指定查询语言。 |
| en-us |
查询英语(美国)的语言值。 |
| en-gb |
查询英语(英国)的语言值。 |
| en-in |
查询英语(印度)的语言值。 |
| en-ca |
英语(加拿大)的查询语言值。 |
| en-au |
英语(澳大利亚)的查询语言值。 |
| fr-fr |
查询法语(法国)的语言值。 |
| fr-ca |
法语(加拿大)的查询语言值。 |
| de-de |
德语(德国)的查询语言值。 |
| es-es |
西班牙语(西班牙)的查询语言值。 |
| es-mx |
西班牙语(墨西哥)的查询语言值。 |
| zh-cn |
中文(中国)查询语言值。 |
| zh-tw |
查询中文(台湾)的语言值。 |
| pt-br |
葡萄牙语(巴西)的查询语言值。 |
| pt-pt |
葡萄牙语(葡萄牙)的查询语言值。 |
| it-it |
查询意大利语(意大利)的语言值。 |
| ja-jp |
日语(日本)的查询语言值。 |
| ko-kr |
查询朝鲜语(韩国)的语言值。 |
| ru-ru |
俄语(俄罗斯)的查询语言值。 |
| cs-cz |
捷克语(捷克共和国)的查询语言值。 |
| nl-be |
荷兰语(比利时)的查询语言值。 |
| nl-nl |
荷兰语(荷兰)的查询语言值。 |
| hu-hu |
匈牙利语(匈牙利)的查询语言值。 |
| pl-pl |
查询波兰语(波兰)的语言值。 |
| sv-se |
瑞典语(瑞典)的查询语言值。 |
| tr-tr |
查询土耳其语(土耳其)的语言值。 |
| hi-in |
印地语(印度)的查询语言值。 |
| ar-sa |
阿拉伯语(沙特阿拉伯)的查询语言值。 |
| ar-eg |
阿拉伯语(埃及)的查询语言值。 |
| ar-ma |
阿拉伯语(摩洛哥)的查询语言值。 |
| ar-kw |
阿拉伯语(科威特)的查询语言值。 |
| ar-jo |
阿拉伯语(约旦)的查询语言值。 |
| da-dk |
丹麦语(丹麦)的查询语言值。 |
| no-no |
挪威语(挪威)的查询语言值。 |
| bg-bg |
保加利亚语(保加利亚)的查询语言值。 |
| hr-hr |
克罗地亚语(克罗地亚)的查询语言值。 |
| hr-ba |
克罗地亚语(波黑)的查询语言值。 |
| ms-my |
马来语(马来西亚)的查询语言值。 |
| ms-bn |
马来语(文莱达鲁萨兰语)的查询语言值。 |
| sl-sl |
斯洛文尼亚语(斯洛文尼亚)的查询语言值。 |
| ta-in |
泰米尔语(印度)的查询语言值。 |
| vi-vn |
越南语(越南)的查询语言值。 |
| el-gr |
查询希腊语(希腊)的语言值。 |
| ro-ro |
罗马尼亚语(罗马尼亚)的查询语言值。 |
| is-is |
冰岛语(冰岛)的查询语言值。 |
| id-id |
印度尼西亚语(印度尼西亚)的查询语言值。 |
| th-th |
泰国语(泰国)的查询语言值。 |
| lt-lt |
立陶宛语(立陶宛)的查询语言值。 |
| uk-ua |
乌克兰语(乌克兰)的查询语言值。 |
| lv-lv |
拉脱维亚语(拉脱维亚)的查询语言值。 |
| et-ee |
爱沙尼亚语(爱沙尼亚语)的查询语言值。 |
| ca-es |
加泰罗尼亚语的查询语言值。 |
| fi-fi |
芬兰语(芬兰)的查询语言值。 |
| sr-ba |
塞尔维亚语(波黑)的查询语言值。 |
| sr-me |
塞尔维亚语(黑山)的查询语言值。 |
| sr-rs |
塞尔维亚语(塞尔维亚)的查询语言值。 |
| sk-sk |
斯洛伐克语(斯洛伐克)的查询语言值。 |
| nb-no |
挪威语(挪威)的查询语言值。 |
| hy-am |
亚美尼亚语(亚美尼亚)的查询语言值。 |
| bn-in |
孟加拉语(印度)的查询语言值。 |
| eu-es |
Basque 的查询语言值。 |
| gl-es |
加利西亚语的查询语言值。 |
| gu-in |
古吉拉特(印度)的查询语言值。 |
| he-il |
希伯来语(以色列)的查询语言值。 |
| ga-ie |
查询爱尔兰语(爱尔兰)的语言值。 |
| kn-in |
卡纳达(印度)的查询语言值。 |
| ml-in |
马拉雅拉姆语(印度)的查询语言值。 |
| mr-in |
马拉蒂(印度)的查询语言值。 |
| fa-ae |
波斯语(U.A.E.)的查询语言值。 |
| pa-in |
旁遮普语(印度)的查询语言值。 |
| te-in |
泰卢固(印度)的查询语言值。 |
| ur-pk |
乌尔都语(巴基斯坦)的查询语言值。 |
QueryResultDocumentRerankerInput
发送到语义扩充过程的原始串联字符串。
| 名称 | 类型 | 说明 |
|---|---|---|
| content |
string |
用于语义扩充的内容字段的原始串联字符串。 |
| keywords |
string |
用于语义扩充的关键字字段的原始串联字符串。 |
| title |
string |
用于语义扩充的标题字段的原始字符串。 |
QueryResultDocumentSemanticField
发送到语义扩充过程的字段的说明以及它们的使用方式
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
发送到语义扩充过程的字段的名称 |
| state |
字段用于语义扩充过程的方式(完全使用、部分使用或未使用) |
QuerySpellerType
一个值,指定用于拼写更正单个搜索查询词的拼写器的类型。
| 值 | 说明 |
|---|---|
| none |
拼写检查器未启用。 |
| lexicon |
拼写检查器使用由 queryLanguage 参数指定的语言的静态词典更正单个查询词。 |
QueryType
指定搜索查询的语法。 默认值为“simple”。 如果查询使用 Lucene 查询语法,则使用“full”;如果不需要查询语法,请使用“semantic”。
| 值 | 说明 |
|---|---|
| simple |
使用简单的查询语法进行搜索。 搜索文本是使用简单的查询语言解释的,该语言允许使用 +、* 和“”等符号。 默认情况下,所有可搜索字段都会计算查询,除非指定 searchFields 参数。 |
| full |
使用完整的 Lucene 查询语法进行搜索。 搜索文本是使用 Lucene 查询语言解释的,该语言允许特定于字段的和加权的搜索以及其他高级功能。 |
| semantic |
最适合以自然语言表示的查询,而不是关键字。 通过使用在 Web corpus 上训练的排名模型重新对排名靠前的搜索结果进行排名来提高搜索结果的精度。 |
RawVectorQuery
提供原始向量值时用于矢量搜索的查询参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| exhaustive |
boolean |
如果为 true,则触发矢量索引中所有向量中最接近的邻域搜索。 对于精确匹配至关重要的方案(例如确定基本真相值)非常有用。 |
| fields |
string |
要包含在搜索矢量中的集合(Edm.Single)类型的向量字段。 |
| k |
integer (int32) |
要作为热门命中返回的最近的邻居数。 |
| kind |
string:
vector |
要执行的矢量查询的类型。 |
| oversampling |
number (double) |
过度采样因子。 最小值为 1。 它替代索引定义中配置的“defaultOversampling”参数。 仅当“rerankWithOriginalVectors”为 true 时,才能设置它。 仅当在基础向量字段上使用压缩方法时,才允许此参数。 |
| threshold | VectorThreshold: |
用于矢量查询的阈值。 请注意,仅当所有“字段”都使用相同的相似性指标时,才能设置此值。 |
| vector |
number[] (float) |
搜索查询的向量表示形式。 |
| weight |
number (float) |
与同一搜索请求中的其他向量查询和/或文本查询相比,矢量查询的相对权重。 当合并由不同向量查询生成的多个排名列表的结果和/或通过文本查询检索的结果时,将使用此值。 权重越高,匹配该查询的文档将处于最终排名中。 默认值为 1.0,该值必须是大于零的正数。 |
ScoringStatistics
一个值,该值指定是全局计算计分统计信息(如文档频率),以更一致评分,还是在本地计算延迟较低。 默认值为“local”。 在评分之前,使用“全局”全局聚合评分统计信息。 使用全局计分统计信息可以提高搜索查询的延迟。
| 值 | 说明 |
|---|---|
| local |
评分统计信息将在本地计算,以降低延迟。 |
| global |
计分统计信息将以全局方式计算,以便进行更一致的评分。 |
SearchDocumentsResult
包含索引搜索结果的响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| @odata.count |
integer (int64) |
搜索作找到的结果总数,如果未请求计数,则为 null。 如果存在,则计数可能大于此响应中的结果数。 如果使用$top或$skip参数,或者查询不能在单个响应中返回所有请求的文档,则可能会发生这种情况。 |
| @odata.nextLink |
string |
当查询无法在单个响应中返回所有请求的结果时返回的延续 URL。 可以使用此 URL 构建另一个 GET 或 POST 搜索请求来获取搜索响应的下一部分。 请确保使用与生成此响应的请求相同的谓词(GET 或 POST)。 |
| @search.answers |
搜索操作的答案查询结果;如果未指定 answers 查询参数或设置为“none”,则为 null。 |
|
| @search.coverage |
number (double) |
一个值,指示查询中包含的索引百分比;如果未在请求中指定 minimumCoverage,则为 null。 |
| @search.facets |
object |
搜索作的分面查询结果,组织为每个分面字段的存储桶集合;如果查询不包含任何分面表达式,则为 null。 |
| @search.nextPageParameters |
当查询无法在单个响应中返回所有请求的结果时返回的延续 JSON 有效负载。 可以将此 JSON 与 @odata.nextLink 一起使用来构建另一个 POST 搜索请求,以获取搜索响应的下一部分。 |
|
| @search.semanticPartialResponseReason |
语义排名请求返回部分响应的原因。 |
|
| @search.semanticPartialResponseType |
为语义排名请求返回的部分响应的类型。 |
|
| value |
查询返回的结果序列。 |
SearchMode
指定是否必须匹配任何搜索词或所有搜索词,以便将文档计数为匹配项。
| 值 | 说明 |
|---|---|
| any |
必须匹配任何搜索词,才能将文档计数为匹配项。 |
| all |
必须匹配所有搜索词,才能将文档计数为匹配项。 |
SearchRequest
用于筛选、排序、分面、分页和其他搜索查询行为的参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| answers |
一个值,该值指定是否应作为搜索响应的一部分返回答案。 |
|
| captions |
一个值,该值指定是否应返回标题作为搜索响应的一部分。 |
|
| count |
boolean |
一个值,该值指定是否提取结果总数。 默认值为 false。 将此值设置为 true 可能会影响性能。 请注意,返回的计数是近似值。 |
| debug |
启用可用于进一步探索重新调整结果的调试工具。 |
|
| facets |
string[] |
要应用于搜索查询的分面表达式列表。 每个分面表达式都包含一个字段名称,可以选择后跟逗号分隔的名称:值对列表。 |
| filter |
string |
要应用于搜索查询的 OData $filter表达式。 |
| highlight |
string |
用于命中突出显示的字段名称的逗号分隔列表。 只能使用可搜索字段进行命中突出显示。 |
| highlightPostTag |
string |
追加到命中突出显示的字符串标记。 必须使用 highlightPreTag 进行设置。 默认值为 /em <>。 |
| highlightPreTag |
string |
前面追加的字符串标记以命中突出显示。 必须使用 highlightPostTag 进行设置。 默认值为 em<>。 |
| hybridSearch |
用于配置混合搜索行为的查询参数。 |
|
| minimumCoverage |
number (double) |
介于 0 和 100 之间的数字,指示搜索查询必须涵盖的索引百分比,以便将查询报告为成功。 此参数可用于确保仅包含一个副本的服务的搜索可用性。 默认值为 100。 |
| orderby |
string |
OData 的逗号分隔列表$orderby用于对结果进行排序的表达式。 每个表达式可以是字段名称,也可以是对 geo.distance() 或 search.score() 函数的调用。 每个表达式后跟 asc 以指示升序,或 desc 表示降序。 默认值为升序。 关系将由匹配文档的分数中断。 如果未指定$orderby,则默认排序顺序按文档匹配分数降序。 最多可以有 32 个$orderby子句。 |
| queryLanguage |
一个指定搜索查询语言的值。 |
|
| queryType |
一个值,指定搜索查询的语法。 默认值为“simple”。 如果查询使用 Lucene 查询语法,请使用“full”。 |
|
| scoringParameters |
string[] |
在评分函数(例如 referencePointParameter)中使用格式名称值的参数值列表。 例如,如果计分配置文件使用名为“mylocation”的参数定义函数,则参数字符串将为“mylocation--122.2,44.8”(不含引号)。 |
| scoringProfile |
string |
要评估匹配文档的匹配分数的计分配置文件的名称,以便对结果进行排序。 |
| scoringStatistics |
一个值,该值指定是全局计算计分统计信息(如文档频率),以更一致评分,还是在本地计算延迟较低。 默认值为“local”。 在评分之前,使用“全局”全局聚合评分统计信息。 使用全局计分统计信息可以提高搜索查询的延迟。 |
|
| search |
string |
全文搜索查询表达式;使用“*”或省略此参数以匹配所有文档。 |
| searchFields |
string |
要限定全文搜索范围的字段名称的逗号分隔列表。 在完整的 Lucene 查询中使用字段搜索(fieldName:searchExpression),每个字段搜索表达式的字段名称优先于此参数中列出的任何字段名称。 |
| searchMode |
一个值,该值指定是否必须匹配任何搜索词或全部搜索词,以便将文档计数为匹配项。 |
|
| select |
string |
要检索的字段的逗号分隔列表。 如果未指定,则包含标记为在架构中可检索的所有字段。 |
| semanticConfiguration |
string |
处理类型语义查询的文档时将使用的语义配置的名称。 |
| semanticErrorHandling |
允许用户选择语义调用是否应完全失败,还是返回部分结果(默认值)。 |
|
| semanticFields |
string |
用于语义排名的字段名称的逗号分隔列表。 |
| semanticMaxWaitInMilliseconds |
integer (int32) minimum: 700 |
允许用户在请求失败之前设置语义扩充完成处理所需的时间上限。 |
| semanticQuery |
string |
允许设置单独的搜索查询,该查询将仅用于语义重排、语义标题和语义答案。 对于需要在基础检索和排名阶段和 L2 语义阶段之间使用不同的查询的情况,非常有用。 |
| sessionId |
string |
用于创建粘滞会话的值,有助于获取更一致的结果。 只要使用了同一 sessionId,就会尝试以相同的副本集为目标。 谨慎地重复使用相同的 sessionID 值可能会干扰跨副本的请求负载均衡,并对搜索服务的性能产生不利影响。 用作 sessionId 的值不能以“_”字符开头。 |
| skip |
integer (int32) |
要跳过的搜索结果数。 此值不能大于 100,000。 如果需要按顺序扫描文档,但由于此限制而无法使用 skip,请考虑改用完全排序的键并使用范围查询进行筛选。 |
| speller |
一个值,指定用于拼写更正单个搜索查询词的拼写器的类型。 |
|
| top |
integer (int32) |
要检索的搜索结果数。 这可以与$skip结合使用来实现搜索结果的客户端分页。 如果由于服务器端分页而截断结果,响应将包含一个延续标记,该标记可用于发出下一页结果的另一个搜索请求。 |
| vectorFilterMode |
确定是否在执行矢量搜索之前或之后应用筛选器。 默认值为“preFilter”。 |
|
| vectorQueries | VectorQuery[]: |
矢量和混合搜索查询的查询参数。 |
SearchResult
包含搜索查询找到的文档,以及关联的元数据。
| 名称 | 类型 | 说明 |
|---|---|---|
| @search.captions |
标题是文档相对于搜索查询最具代表性的段落。 它们通常用作文档摘要。 仅针对类型为“semantic”的查询返回标题。 |
|
| @search.documentDebugInfo |
包含可用于进一步浏览搜索结果的调试信息。 |
|
| @search.highlights |
object |
文档中指示匹配的搜索词的文本片段,按每个适用字段进行组织;如果未为查询启用命中突出显示,则为 null。 |
| @search.rerankerScore |
number (double) |
语义排名器为排名靠前的搜索结果计算的相关性分数。 搜索结果首先按 RerankerScore 排序,然后按分数排序。 仅针对类型为“semantic”的查询返回 RerankerScore。 |
| @search.score |
number (double) |
与查询返回的其他文档相比,文档的相关性分数。 |
SearchScoreThreshold
矢量查询的结果将基于“@search.score”值进行筛选。 请注意,这是作为搜索响应的一部分返回的 @search.score。 将为更高的 @search.score选择阈值方向。
| 名称 | 类型 | 说明 |
|---|---|---|
| kind |
string:
search |
用于筛选矢量查询的阈值类型 |
| value |
number (double) |
阈值将根据“@search.score”值进行筛选。 请注意,这是作为搜索响应的一部分返回的 @search.score。 将为更高的 @search.score选择阈值方向。 |
SemanticDebugInfo
| 名称 | 类型 | 说明 |
|---|---|---|
| contentFields |
发送到语义扩充过程的内容字段以及如何使用它们 |
|
| keywordFields |
发送到语义扩充过程的关键字字段以及它们的使用方式 |
|
| rerankerInput |
发送到语义扩充过程的原始串联字符串。 |
|
| titleField |
发送到语义扩充过程的标题字段及其用法 |
SemanticErrorMode
允许用户选择语义调用是否应完全失败,还是返回部分结果(默认值)。
| 值 | 说明 |
|---|---|
| partial |
如果语义处理失败,部分结果仍返回。 部分结果的定义取决于语义步骤失败的原因和失败的原因。 |
| fail |
如果在语义处理步骤中出现异常,查询将失败并返回相应的 HTTP 代码,具体取决于错误。 |
SemanticErrorReason
语义排名请求返回部分响应的原因。
| 值 | 说明 |
|---|---|
| maxWaitExceeded |
如果设置了“semanticMaxWaitInMilliseconds”,并且语义处理持续时间超过了该值。 仅返回基本结果。 |
| capacityOverloaded |
请求受到限制。 仅返回基本结果。 |
| transient |
语义进程的至少一个步骤失败。 |
SemanticFieldState
字段用于语义扩充过程的方式(完全使用、部分使用或未使用)
| 值 | 说明 |
|---|---|
| used |
该字段已完全用于语义扩充。 |
| unused |
该字段不用于语义扩充。 |
| partial |
该字段部分用于语义扩充。 |
SemanticSearchResultsType
为语义排名请求返回的部分响应的类型。
| 值 | 说明 |
|---|---|
| baseResults |
不带任何语义扩充或重新调整的结果。 |
| rerankedResults |
已使用重新曲柄模型重新调整结果,并包含语义标题。 它们不会包含任何答案、答案突出显示或标题突出显示。 |
VectorFilterMode
确定是否在执行矢量搜索之前或之后应用筛选器。
| 值 | 说明 |
|---|---|
| postFilter |
返回候选矢量结果集后,将应用筛选器。 根据筛选器选择性,这可能会导致结果少于参数“k”请求的结果。 |
| preFilter |
筛选器将在搜索查询之前应用。 |
VectorizableImageBinaryQuery
提供需要矢量化的图像的 base 64 编码二进制文件时,用于矢量搜索的查询参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| base64Image |
string |
要向量化的图像的基 64 编码二进制文件,用于执行矢量搜索查询。 |
| exhaustive |
boolean |
如果为 true,则触发矢量索引中所有向量中最接近的邻域搜索。 对于精确匹配至关重要的方案(例如确定基本真相值)非常有用。 |
| fields |
string |
要包含在搜索矢量中的集合(Edm.Single)类型的向量字段。 |
| k |
integer (int32) |
要作为热门命中返回的最近的邻居数。 |
| kind |
string:
image |
要执行的矢量查询的类型。 |
| oversampling |
number (double) |
过度采样因子。 最小值为 1。 它替代索引定义中配置的“defaultOversampling”参数。 仅当“rerankWithOriginalVectors”为 true 时,才能设置它。 仅当在基础向量字段上使用压缩方法时,才允许此参数。 |
| threshold | VectorThreshold: |
用于矢量查询的阈值。 请注意,仅当所有“字段”都使用相同的相似性指标时,才能设置此值。 |
| weight |
number (float) |
与同一搜索请求中的其他向量查询和/或文本查询相比,矢量查询的相对权重。 当合并由不同向量查询生成的多个排名列表的结果和/或通过文本查询检索的结果时,将使用此值。 权重越高,匹配该查询的文档将处于最终排名中。 默认值为 1.0,该值必须是大于零的正数。 |
VectorizableImageUrlQuery
提供表示需要矢量化的图像值的 URL 时用于矢量搜索的查询参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| exhaustive |
boolean |
如果为 true,则触发矢量索引中所有向量中最接近的邻域搜索。 对于精确匹配至关重要的方案(例如确定基本真相值)非常有用。 |
| fields |
string |
要包含在搜索矢量中的集合(Edm.Single)类型的向量字段。 |
| k |
integer (int32) |
要作为热门命中返回的最近的邻居数。 |
| kind |
string:
image |
要执行的矢量查询的类型。 |
| oversampling |
number (double) |
过度采样因子。 最小值为 1。 它替代索引定义中配置的“defaultOversampling”参数。 仅当“rerankWithOriginalVectors”为 true 时,才能设置它。 仅当在基础向量字段上使用压缩方法时,才允许此参数。 |
| threshold | VectorThreshold: |
用于矢量查询的阈值。 请注意,仅当所有“字段”都使用相同的相似性指标时,才能设置此值。 |
| url |
string |
要矢量化的图像的 URL,用于执行矢量搜索查询。 |
| weight |
number (float) |
与同一搜索请求中的其他向量查询和/或文本查询相比,矢量查询的相对权重。 当合并由不同向量查询生成的多个排名列表的结果和/或通过文本查询检索的结果时,将使用此值。 权重越高,匹配该查询的文档将处于最终排名中。 默认值为 1.0,该值必须是大于零的正数。 |
VectorizableTextQuery
提供需要矢量化的文本值时用于矢量搜索的查询参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| exhaustive |
boolean |
如果为 true,则触发矢量索引中所有向量中最接近的邻域搜索。 对于精确匹配至关重要的方案(例如确定基本真相值)非常有用。 |
| fields |
string |
要包含在搜索矢量中的集合(Edm.Single)类型的向量字段。 |
| k |
integer (int32) |
要作为热门命中返回的最近的邻居数。 |
| kind |
string:
text |
要执行的矢量查询的类型。 |
| oversampling |
number (double) |
过度采样因子。 最小值为 1。 它替代索引定义中配置的“defaultOversampling”参数。 仅当“rerankWithOriginalVectors”为 true 时,才能设置它。 仅当在基础向量字段上使用压缩方法时,才允许此参数。 |
| text |
string |
要进行矢量化以执行矢量搜索查询的文本。 |
| threshold | VectorThreshold: |
用于矢量查询的阈值。 请注意,仅当所有“字段”都使用相同的相似性指标时,才能设置此值。 |
| weight |
number (float) |
与同一搜索请求中的其他向量查询和/或文本查询相比,矢量查询的相对权重。 当合并由不同向量查询生成的多个排名列表的结果和/或通过文本查询检索的结果时,将使用此值。 权重越高,匹配该查询的文档将处于最终排名中。 默认值为 1.0,该值必须是大于零的正数。 |
VectorQueryKind
要执行的矢量查询的类型。
| 值 | 说明 |
|---|---|
| vector |
提供原始向量值的矢量查询。 |
| text |
向量查询,其中提供了需要矢量化的文本值。 |
| imageUrl |
向量查询,其中提供了表示需要矢量化的图像值的 URL。 |
| imageBinary |
向量查询,其中提供了需要矢量化的图像的 base 64 编码二进制文件。 |
VectorSimilarityThreshold
将基于矢量相似性指标筛选矢量查询的结果。 请注意,这是相似性指标的规范定义,而不是“距离”版本。 将根据字段使用的指标自动选择阈值方向(较大或更小)。
| 名称 | 类型 | 说明 |
|---|---|---|
| kind |
string:
vector |
用于筛选矢量查询的阈值类型 |
| value |
number (double) |
阈值将根据相似性指标值进行筛选。 请注意,这是相似性指标的规范定义,而不是“距离”版本。 将根据字段使用的指标自动选择阈值方向(较大或更小)。 |
VectorThresholdKind
要执行的矢量查询的类型。
| 值 | 说明 |
|---|---|
| vectorSimilarity |
将基于矢量相似性指标筛选矢量查询的结果。 请注意,这是相似性指标的规范定义,而不是“距离”版本。 将根据字段使用的指标自动选择阈值方向(较大或更小)。 |
| searchScore |
矢量查询的结果将基于“@search.score”值进行筛选。 请注意,这是作为搜索响应的一部分返回的 @search.score。 将为更高的 @search.score选择阈值方向。 |