elasticsearch将数据导出json文件【使用elasticdump】

1、前提准备

需要使用npm安装,还未安装的朋友可以阅读另一篇我的博客《安装使用npm》,windows环境。

2、安装es-dump

打开终端窗口PowerShell或者cmd。

输入命令,等待安装:-g 表示全局安装(可选)。

3、备份数据

需要更详尽的解释,也可以查看官方文档。""不代表换行,参数命令直接在后面加空格隔开。

[cpp] view plain copy
 
  1. #拷贝数据,可以是分词拷贝,可以是映射拷贝,也可以是全数据拷贝  
  2. elasticdump   
  3.   --input=http://production.es.com:9200/my_index   
  4.   --output=http://staging.es.com:9200/my_index   
  5.   --type=analyzer  
  6. elasticdump   
  7.   --input=http://production.es.com:9200/my_index   
  8.   --output=http://staging.es.com:9200/my_index   
  9.   --type=mapping  
  10. elasticdump   
  11.   --input=http://production.es.com:9200/my_index   
  12.   --output=http://staging.es.com:9200/my_index   
  13.   --type=data  

也可以拷贝成json文件进行数据输出:

[cpp] view plain copy
 
  1. elasticdump   
  2.   --input=http://production.es.com:9200/my_index   
  3.   --output=/data/my_index_mapping.json   
  4.   --type=mapping  
  5. elasticdump   
  6.   --input=http://production.es.com:9200/my_index   
  7.   --output=/data/my_index.json   
  8.   --type=data  

也可进行压缩拷贝或者根据查询自定字段进行部分数据导出:

[cpp] view plain copy
 
  1. # Backup and index to a gzip using stdout:   
  2. elasticdump   
  3.   --input=http://production.es.com:9200/my_index   
  4.   --output=$   
  5.   | gzip > /data/my_index.json.gz  
  6.    
  7. # Backup the results of a query to a file   
  8. elasticdump   
  9.   --input=http://production.es.com:9200/my_index   
  10.   --output=query.json   
  11.   --searchBody '{"query":{"term":{"username": "admin"}}}'  

elasticdump比较灵活的一点是,同样的,变换input output内容,同样可以实现数据导入工作。

这是我粘贴过来的,原文出处:https://blog.csdn.net/han0373/article/details/80606974

原文地址:https://www.cnblogs.com/zhaohuanhuan/p/9223260.html