针对相同数据集上的相同搜索请求返回的不同结果集

时间:2020-09-18 17:59:08

标签: azure-cognitive-search

我们观察到,在进行搜索时,对相同的查询和相同的数据集会获得不同的响应集。这是预期的还是我有什么遗漏?

服务和请求的详细信息:

Subscription: 857c2508-0288-42b1-ba14-3d49188259b6
ResourceGroupName: rss-dev-wus2-search-rg
ServiceName: "relevance-search-dev-westus2"
IndexName: idx-vreb9d099kr6wd0vdid7gdlphlwtqynv7par4w56yi1b96xyujbn5l4yziaq93kh68wwhb64wwol3f630xl7zlt22h6y23lt
ClientUsed: Microsoft.Azure.Search.ISearchIndexClient
Version: Version=10.1.0.0
RequestUri: https://relevance-search-dev-westus2.search.windows.net/indexes/idx-vreb9d099kr6wd0vdid7gdlphlwtqynv7par4w56yi1b96xyujbn5l4yziaq93kh68wwhb64wwol3f630xl7zlt22h6y23lt/docs?api-version=2020-06-30&%24filter=g%20eq%201024&%24select=b&%24top=60&%24skip=0&search=Xbox
QueryString: $filter=g eq 1024&$select=b&$top=60&$skip=0&search=Xbox

获得不同结果的服务请求ID:

0e01f6aa-f743-4416-9a34-fd92578dbfee

f7a2c9d3-6254-4aab-90c9-726732e48c00

1 个答案:

答案 0 :(得分:0)

如果您的搜索服务设置有多个副本,则可能会发生这种情况。在任何给定时间,副本之间的索引统计信息可能会稍微不同步,这意味着如果差异副本节点正在为结果提供服务,则同一文档的相关性评分可能会从一个请求更改为另一个请求。在需要分数一致性的情况下,可以在搜索请求中使用可选的“ sessionId”参数。 https://docs.microsoft.com/en-us/rest/api/searchservice/search-documents#sessionidstring-optional

只要在后续请求中使用相同的sessionId,就会尽力将目标复制到同一副本节点。