azure-cognitive-search - 执行 indexClient.Documents.Index(batch) 时 index 方法失败
问题描述
我将 1000 个文档添加到 IndexBatch 并调用 index() 方法,如下所示
var batch = IndexBatch.New(actions);
indexClient.Documents.Index(batch);
我将这段代码保持在一个循环中,我需要将大约 5000 万个文档上传到 Azure 搜索。在循环中执行大约 15 到 20 次(15k 到 20k 文档)后,它失败并抛出异常,如下所示
“请求无效。详细信息:操作:在请求中未找到索引操作。请在您的请求中包含 1 到 32000 个索引操作。”
为什么我随机得到这个异常。
您能否建议更好的方法来处理以下情况
- 如何在尝试加载另一批之前确保前一批文档被索引(因为我在循环中运行这些语句至少 50K 次)
- 由于服务负载而导致的任何错误。
解决方案
是否可以在此代码中添加 try/catch,以便您可以验证批次中确实有项目?在 catch 中可能会添加一个断点来调查批处理中的内容,看看这是否有助于清除可能是什么问题?
推荐阅读
- python - 单行 if 语句的覆盖范围
- python - 破解后如何重新启动相同的功能
- php - 使用 Laravel 中的按钮更新/更改值
- r - R Hash - 根据值获取密钥
- firebase - 我可以使用 Firestore 使用基于时间限制的缓存吗?
- c - 静态库中的所有函数是否都链接到最终的可执行文件中?
- php - 如何在视图中显示 Laravel 中的图像?
- database - {新的 Flutter/Dart 程序员} 有什么简单的方法可以简单地访问 Firebase 数据库中的“字段”并将其值设置为变量?
- algorithm - 在某些情况下,Hoare 分区会失败吗?
- visual-studio-code - 如何在 vscode quickFix 菜单中设置选择建议的键盘快捷键?