問題。我一直負責研究如何在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