问题。我一直负责研究如何在Elasticsearch中回填数据。到目前为止有点空虚。基本要点是:Elasticsearch在计算后回填两个字段到一个新字段
注意:所有文件都存储在每日索引下,每天约200k文件。
- 我需要能够重新索引60天左右的数据。
- 我需要为每个doc payload.time_sec和payload.time_nanosec带两个字段,取其中的值并对它们进行一些计算(time_sec * 10 ** 9 + time_nanosec),然后将其作为单个字段返回到重新索引文件
我期待在散装佣工的Python API文档: http://elasticsearch-py.readthedocs.io/en/master/helpers.html
但我想知道如果这甚至有可能。
我的想法是使用: 批量助手拉取滚动ID(批量_update?),迭代每个文档ID,从两个字段中为每个码头拉入数据,进行数学计算并完成更新请求新的现场数据。
任何人都这样做?也许有一个groovy脚本的东西?
谢谢!
我一直在使用python来解决这个问题到目前为止,将在一个新的回复中发布代码片段 – fastfiveoh
@fastfiveoh你最终采用哪种解决方案?我遇到类似的问题,并想知道哪种方式是最好的。 –
@RobinWang我终于写了脚本,你可以在我的回购中看到它:[link] https://github.com/fastfiveoh/python-es-reindex/blob/master/backfill_data – fastfiveoh