Elasticsearch执行reindex后原索引数据是否保留?删除目标索引有影响吗?
Elasticsearch Reindex操作数据留存问题解答
核心结论
你后续删除索引b时,之前从索引a迁移的那部分数据会完整保留在原索引a中,不会受到任何影响。
原因说明
- Elasticsearch的
_reindexAPI本质是数据复制操作,核心执行逻辑是:从指定的源索引读取符合条件的数据,再写入到目标索引,整个过程不会对源索引的原有数据做任何修改、删除操作。 - 你使用的reindex语句没有配置任何会改动源索引a的参数,仅执行了从a读、往b写的逻辑:
POST _reindex { "source": { "index": "a", "query": { "range": { "created": { "gte": "2021-08-01 00:00:00.000", "lt": "2021-09-01 00:00:00.000" } } } }, "dest": { "index": "b" } }
- 只有当你显式对索引a执行删除、更新数据或者删除索引本身的操作时,a中的对应数据才会消失。
内容的提问来源于stack exchange,提问作者HarryClifton
相关产品推荐
相关产品推荐

