c# - 从认知搜索中检索超过 10 万条结果
问题描述
我有一个包含超过 100,000 个文档的 Azure 搜索索引。它有两个可检索的字段,都是由第三方确定的任意字符串 ID。它有更多可搜索和可排序的字段。
我需要能够检索索引中的每个文档。我的应用程序的消费者可能不提供过滤器或过滤器,从而导致超过 10 万个文档。
我可以处理$top=1000
限制,但无论我做什么,$skip=100000
限制一直在咬我。我正在使用.NET Core SDK 的v10.1.0。我已经删除了汇总结果的代码,这只是显示了我的循环。
var results = index.Documents.Search("*", searchParameters: new SearchParameters
{
Top = int.MaxValue // I should have fewer than 2B docs...
});
while (results.ContinuationToken != null)
{
results = index.Documents.ContinueSearch(results.ContinuationToken);
}
ContinueSearch
一旦获得 101k 结果(前 1k 并跳过 100k),它将停止或崩溃,具体取决于我在呼叫周围有什么样的护栏。
我也通过 HTTP 进行了尝试,结果基本相同。
我对任何针对 .NET Core 3.1 的解决方案持开放态度。只要它有效,我就不会与任何特定的软件包甚至语言结婚。
解决方案
推荐阅读
- java - Mac 上 Android Studio 的 .idea 目录在哪里?
- sqlite - Sqlite 返回最新值与 24 小时前值之间的行差异
- python - 来自列表 python 的字典
- ios - Swift - 纵向视频的帧尺寸
- mysql - 如何在 SQL 中使用 COUNT 和 JOIN?
- java - 为什么当链被拆分为多个部分时,ExpressionInterceptUrlRegistry 调用链会丢失类型信息?
- javascript - 如何在引导手风琴中切换加号到减号,反之亦然
- python - 在门户(门户模块)网站odoo13上添加新文件
- apache-flink - 如何为 flink 做贡献?
- php - htmlpurifier 在输入表单后不起作用