首页 > 解决方案 > Elasticsearch 并行索引多个文件

问题描述

我正在尝试在 ES 中索引多个文件。由于文件很多,每个文件都有自己的索引,因此顺序索引在生产使用中似乎很慢。我想要的是并行索引多个文件。假设我有 100 个文件,想一次索引 10 个文件并分 10 批完成索引。我预计 10 个文件索引和单个文件索引所花费的时间是相同的,因为它们是并行执行的,资源也足够了。但是,在 ES 方面,索引是按顺序进行的,索引 10 个文件所需的时间几乎是单个文件所需时间的 10 倍。

尽管从这个问题发送了并行请求以进行索引,但似乎 ES 索引是按顺序运行的。是否可以并行索引数据以减少索引时间,或者我在这里遗漏了什么?谢谢您的帮助

注意:我在单节点设置中对此进行测试。这会是个问题吗?

标签: elasticsearchsearchindexingparallel-processinglucene

解决方案


由于您没有提供代码和性能测试编号,因此很难猜测您在哪里犯了错误,我猜您在说并行请求时同时发送 10 个不同的索引请求,这不是正确的方法,您应该改用Bulk API,这是您设置的正确选择。

如果您已经在使用批量 API,请提供进一步调试问题所需的所有相关信息。


推荐阅读