rob*_*sta 8 .net c# azure azure-cognitive-search
有人能指出我如何实现这个的正确方向?
到目前为止,我可以查询我的索引并获得响应
SearchIndexClient indexClient = service.Indexes.GetClient(indexName);
SearchParameters sp = new SearchParameters()
{
Facets = new string[] { "Brand", "Price,values:10|25|100|500|1000|2500" },
Filter = AzureUtils.BuildFilter(brand, priceFrom, priceTo),
OrderBy = new string[] { "" },
IncludeTotalResultCount = true,
Top = 9,
SearchMode = SearchMode.Any
};
DocumentSearchResponse<MyClass> response = response = indexClient.Documents.Search<MyClass>(searchText, sp);
Run Code Online (Sandbox Code Playgroud)
当结果返回时,response.ContinuationToken为null
如何让我的索引返回response.ContinuationToken属性的值.
另外,如何实现此功能以获取接下来的9个结果?
谢谢
TL; DR版本:最安全的假设是搜索响应中是否存在延续令牌完全超出您的控制范围.
这SearchContinuationToken不是用于分页结果.这就是SearchParameters.Top和SearchParameters.Skip是.相反,您可以将延续令牌视为恢复无法在单个请求中因潜在任意原因而无法完成的搜索的机制.MSDN上的文档提到页面大小是原因,但这不应该被理解为合同的一部分ContinueSearch.原则上,Azure Search可能还有其他原因可以撤回延续令牌.无论原因如何,如果您想编写一个健壮的客户端,您应该准备好处理延续令牌,无论Top您的结果计数,还是任何其他因素.
| 归档时间: |
|
| 查看次数: |
2279 次 |
| 最近记录: |