【发布时间】:2019-01-26 23:38:12
【问题描述】:
我有一个性能问题,我正在尝试解决...我正在从 AWS 管理的 Elasticsearch 6.2 中的源索引到目标索引进行动态重新索引。源索引目前的大小为数百 GB,并且在生产中可能更大。因此,重新索引将需要一些时间才能完成。根据业务需求,我正在尝试尽可能减少这种情况。我读到我可以做的一些事情来加快重新索引的速度如下:
1) 与集群上的分片数量相比,使用明智的分片数量来实现并行性(例如,理想情况下,10 个分片运行的分片不应超过 10 个,其余部分是浪费和潜在的开销)
2) 如果不需要,则在目标索引上不要有副本分片,这会增加将数据写入集群的工作
3) 在集群中使用正确的 EC2 实例类型来完成此任务
4) 仅从源索引复制您需要的信息以重新索引。
上面的第 4 点是我需要指导的地方...我在 Java 8 中使用 Jest API (v.5.3.3)。有没有办法执行 _rendex 查询但只返回一个或两个字段_source,以便我写入目标索引的实际数据只是源大小的一小部分?
【问题讨论】:
标签: java elasticsearch indexing elasticsearch-jest