在时候我们面临将Elasticsearch的数据进行迁移亦或是数据备份的场景,此时我们可以使用elasticsearch-dump这个工具来实现:

Docker 安装

$ docker pull elasticdump/elasticsearch-dump:latest

示例:

数据迁移

mappings从production环境复制到staging环境


docker run --rm -ti elasticdump/elasticsearch-dump \
  --input=http://production.es.com:9200/my_index \
  --output=http://staging.es.com:9200/my_index \
  --type=mapping

数据从production环境复制到staging

docker run --rm -ti elasticdump/elasticsearch-dump \
  --input=http://production.es.com:9200/my_index \
  --output=http://staging.es.com:9200/my_index \
  --type=data

数据备份至指定的文件

docker run --rm -ti -v /tmp:/tmp elasticdump/elasticsearch-dump \
  --input=http://production.es.com:9200/my_index \
  --output=/tmp/my_index_mapping.json \
  --type=data

template数据导出导入

//数据导出
elasticdump \
  --input=http://es.com:9200/template-filter \
  --output=templates.json \
  --type=template

// 数据出入
elasticdump \
  --input=./templates.json \
  --output=http://es.com:9200 \
  --type=template

资源参考