Azure 搜索一次最多返回 1,000 个结果。对于客户端上的分页,我想要匹配的总数,以便能够在底部显示正确数量的分页按钮,并能够告诉用户有多少结果。但是,如果有超过一千个,我如何获得实际计数?我所知道的是至少有1,000 场比赛。
我需要能够从 SDK 中执行此操作。
Azure 搜索一次最多返回 1,000 个结果。对于客户端上的分页,我想要匹配的总数,以便能够在底部显示正确数量的分页按钮,并能够告诉用户有多少结果。但是,如果有超过一千个,我如何获得实际计数?我所知道的是至少有1,000 场比赛。
我需要能够从 SDK 中执行此操作。
如果您想获取索引中的文档总数,您可以做的一件事是在搜索参数中设置IncludeTotalResultCount
为。在执行查询时执行此操作后,您将在搜索结果的属性中true
看到索引中的文档总数。Count
这是一个示例代码:
var credentials = new SearchCredentials("account-key (query or admin key)");
var indexClient = new SearchIndexClient("account-name", "index-name", credentials);
var searchParameters = new SearchParameters()
{
QueryType = QueryType.Full,
IncludeTotalResultCount = true
};
var searchResults = await indexClient.Documents.SearchAsync("*", searchParameters);
Console.WriteLine("Total documents in index (approx) = " + searchResults.Count.GetValueOrDefault());//Prints the total number of documents in the index
请注意:
对于使用 POST API 的 REST 客户端,只需包含"count": "true"
到有效负载中。你得到计数@odata.count
。
参考:https ://docs.microsoft.com/en-us/rest/api/searchservice/search-documents