elasticdump文档数据导入和导出

安装node.js

# 下载
https://nodejs.org/en/download
https://nodejs.org/dist/v18.17.1/node-v18.17.1-linux-x64.tar.xz
https://nodejs.org/download/release/latest-v18.x/node-v18.17.1-linux-x64.tar.xz

# 源码
wget https://nodejs.org/download/release/latest-v18.x/node-v18.17.1-linux-x64.tar.xz
//解压
xz -d node-v18.17.1-linux-x64.tar.xz
tar -xvf node-v18.17.1-linux-x64.tar

# 压缩包
wget https://nodejs.org/download/release/v10.16.3/node-v10.16.3-linux-x64.tar.gz
# 安装
tar zxvf node-v10.16.3-linux-x64.tar.gz
mv node-v10.16.3-linux-x64 /usr/local/node-v10.16.3

# 修改 PATH
vi /etc/profile

export NODEJS=/usr/local/node-v10.16.3
export PATH=$PATH:$NODEJS/bin

source /etc/profile

# 输入命令进行查看node和npm是否安装成功
node -v
npm -v

# npm 设置淘宝源
npm config set registry http://registry.npm.taobao.org/

# 检查是否更换成功
npm config get registry

安装ealsticdump

# 下载ealsticdump
npm install elasticdump -g --registry=https://registry.npm.taobao.org
# 查看安装版本
elasticdump --version

导出

# 导出索引Mapping数据
elasticdump 
  --input=http://es实例IP:9200/index_name/index_type 
  --output=/data/my_index_mapping.json     # 存放目录
  --type=mapping 
# 导出索引数据(全量)
elasticdump 
  --input=http://es实例IP:9200/index_name/index_type 
  --output=/data/my_index.json 
  --type=data
# 导出索引数据(指定条件)
elasticdump 
  --input=http://es实例IP:9200/index_name/index_type 
  --output=/data/my_index.json 
  --limit=10000
  --searchBody={\"query\":{\"term\":{\"username\": \"admin\"}}}
  --type=data

导出说明:
1、index_type没有自定义可以不要
2、--type可以不要,默认就是data
3、--limit=每次批量导出数据的条数
4、-searchBody=设置查询条件(必须是转义后的json)
5、也可以全量导出所有索引的数据,如果数据过大需要大量时间,可以使用nohup命令后台执行

导入

# Mapping 数据导入至索引
elasticdump 
  --output=http://es实例IP:9200/index_name 
  --input=/home/indexdata/roll_vote_mapping.json  # 导入数据目录
  --type=mapping
# ES文档数据导入至索引
elasticdump 
  --output=http:///es实例IP:9200/index_name 
  --input=/home/indexdata/roll_vote.json 
  --type=data
# 导入大数据时
elasticdump 
  --bulk=true 
  --input=/path/to/data.json 
  --output=http://localhost:9200/index_name/type_name 
  --limit=1000

导入说明
1、--bulk=true参数只是指示elasticdump使用Bulk API进行批量导入操作
2、--limit参数设置每批次导入的文档数量,可以灵活控制导入的速度和资源消耗

Examples

elasticdump \
  --input=http://192.168.10.22:9208/enterprise_library_search \
  --output=/home/tmp/enterprise_library_search_mapping.json \
  --type=mapping
  
  
elasticdump \
  --input=http://192.168.10.22:9208/enterprise_library_search \
  --output=/home/tmp/enterprise_library_search.json \
  --type=data \
  --limit=1000

参考资料:

CentOS7 安装 nodejs
https://www.cnblogs.com/klvchen/p/12923984.html
Elasticsearch之导入导出
https://blog.csdn.net/qq_43602576/article/details/129007373

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值