elasticsearch - Elasticsearch 并行索引多个文件
问题描述
我正在尝试在 ES 中索引多个文件。由于文件很多,每个文件都有自己的索引,因此顺序索引在生产使用中似乎很慢。我想要的是并行索引多个文件。假设我有 100 个文件,想一次索引 10 个文件并分 10 批完成索引。我预计 10 个文件索引和单个文件索引所花费的时间是相同的,因为它们是并行执行的,资源也足够了。但是,在 ES 方面,索引是按顺序进行的,索引 10 个文件所需的时间几乎是单个文件所需时间的 10 倍。
尽管从这个问题发送了并行请求以进行索引,但似乎 ES 索引是按顺序运行的。是否可以并行索引数据以减少索引时间,或者我在这里遗漏了什么?谢谢您的帮助
注意:我在单节点设置中对此进行测试。这会是个问题吗?
解决方案
由于您没有提供代码和性能测试编号,因此很难猜测您在哪里犯了错误,我猜您在说并行请求时同时发送 10 个不同的索引请求,这不是正确的方法,您应该改用Bulk API,这是您设置的正确选择。
如果您已经在使用批量 API,请提供进一步调试问题所需的所有相关信息。
推荐阅读
- javascript - 如何使用存储将数据从 options.js 发送到 content.js?
- reactjs - 如何在 Netlify 重定向后加载 React 应用程序?
- c# - MVC 模型显示日期字段为空。如何解决?
- python-3.x - 特定列中特定行的总和:Pandas
- apache-nifi - 如何在nifi中解析mysql json列
- java - 如果使用双变量实例化 LatLng 对象将不起作用,它仅在输入实数时才起作用
- reactjs - 构建时,isolatedModules 设置为 true,导致错误:无法使用选项 'isolatedModules' 指定选项 'noEmitOnError'
- neo4j - 如何在不提供节点 ID 的情况下在 neo4j 中快速创建节点?
- r - 自动化(手动)R 代码以计算 P 值
- cplex - 如何使用模型中的解决方案来解决另一个问题