elasticsearch-migration 在线导入导出工具

  • elasticsearch 数据导入导出工具
  • 支持基于HTTP导出、导入。
  • 支持保存到文件。

安装

1
npm install elasticdump -g

简单使用

拷贝分词器信息

1
2
3
4
5
elasticdump \
--input=http://192.168.56.13:9200/thread \
--output=http://192.168.56.12:9200/thread1 \
--type=analyzer

拷贝mapping信息

1
2
3
4
elasticdump \
--input=http://192.168.56.13:9200/thread \
--output=http://192.168.56.12:9200/thread1 \
--type=mapping

拷贝数据

1
2
3
4
5
elasticdump \
--input=http://192.168.56.13:9200/thread \
--output=http://192.168.56.12:9200/thread1 \
--type=data \
--limit=1000

limit 设置每次拷贝多少内容,默认是100。
拷贝数据的同时mapping也会被拷贝。

将数据保存到本地

1
2
3
4
5
6
7
8
9
10
elasticdump \
--input=http://192.168.56.13:9200/thread \
--output=thread.json \
--type=mapping

elasticdump \
--input=http://192.168.56.13:9200/thread \
--output=thread-data.json \
--type=data

保存到压缩文件中

1
2
3
4
5
6
# Backup and index to a gzip using stdout:
elasticdump \
--input=http://production.es.com:9200/my_index \
--output=$ \
| gzip > /data/my_index.json.gz

基于搜索保存文件内容

1
2
3
4
elasticdump \
--input=http://production.es.com:9200/my_index \
--output=query.json \
--searchBody '{"query":{"term":{"username": "admin"}}}'

基于全局搜索的结果保存

1
2
3
4
5
6
elasticdump \
--input=http://es.com:9200/api/search \
--input-index=my_index/my_type \
--output=http://es.com:9200/api/search \
--output-index=my_index \
--type=mapping

帮助文档

elastic-dump-github