使用ESM做elasticsearch数据迁移

本文介绍了如何使用ESM(Elasticsearch Migration)工具进行数据迁移。提供了两种方案,一种是全量迁移,另一种是根据时间范围进行增量迁移。在忘记具体时间的情况下,全量迁移会覆盖已有数据;若记得时间范围,可使用 `-q` 参数指定时间字段过滤数据。示例命令展示了如何进行时间范围内的数据迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

esm github地址。里面有详细介绍。

https://github.com/medcl/esm

由于之前先做了一部分迁移,过了一个星期才正式使用,中间的一星期数据没迁移。此时数据已经开始忘es中写了。

有两种方案。
1、全量再迁移一次。不需要删除。相同的会覆盖掉。
2、记住时间 使用 -q 命令过滤某端时间的数据进去。

esm  -s http://xxx.xxx.xxx.xxx:9200 -q "time字段:[1624932000000 TO 1625464800000]"  -d http://xxx.xxx.xxx.xxx:9200 -n username:password -x 索引  -w=5 -b=10 -c 10000

忘记时间可以使用第一种。记得大概时间使用第二种即可。

我只记得上周二做了迁移 具体的时间忘记了。从周二早0点开始,到现在所有的数据全部迁移一遍。重复数据会自动覆盖。

命令:官方文档里有这里再贴一遍

  -s, --source=                    source elasticsearch instance, ie: http://localhost:9200
  -q, --query=                     query against source elasticsearch instance, filter data before migrate, ie: name:medcl
  -d, --dest=                      destination elasticsearch instance, ie: http://localhost:9201
  -m, --source_auth=               basic auth of source elasticsearch instance, ie: user:pass
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值