1、本地或者服务器安装elasticdump
# 在命令行中执行,需要先安装npm
npm install elasticdump -g
2、导出数据
# 在命令行中执行
# 导出索引
elasticdump --input http://用户:密码@ip:9200/索引 --output ./导出文件名_mapping.json --type=mapping
# 导出数据
elasticdump --input http://用户:密码@ip:9200/索引 --output ./导出文件名.json --type=data
# 案例:下面两条指令会导出es中person的索引和数据,文件保存在当前指令执行的路径下
elasticdump --input http://elastic:elastic@127.0.0.1:9200/person --output ./person_mapping.json --type=mapping
elasticdump --input http://elastic:elastic@127.0.0.1:9200/person --output ./person.json --type=data
注意:密码如果有特殊字符,会提示以下信息
解决方法:对密码进行URL编码,可以看下面这个文档
Elasticdump es密码含有特殊字符的解决方式_error emitted => getaddrinfo enotfound elastic-CSDN博客
3、导入数据
# 导入索引
elasticdump --input ./导出文件名_mapping.json --output http://用户:密码@ip:9200/索引 --type=mapping
# 导入数据
elasticdump --input ./导出文件名.json --output http://用户:密码@ip:9200/索引 --type=data
# 案例
elasticdump --input ./person_mapping.json --output http://elastic:elastic@127.0.0.1:9200/person --type=mapping
elasticdump --input ./person.json --output http://elastic:elastic@127.0.0.1:9200/person --type=data