安装elasticdump
es数据的导入和导出需要借助于elasticdump工具,这是一个nodejs的插件(需要安装node.js环境),安装方式直接使用 npm即可,安装指令如下:
npm install elasticdump -g
# 查看elasticdump是否安装正常
elasticdump --version
# 如果显示elasticdump不可用,大概率是之前重新设置过npm的本地仓库
# 查询npm本地仓库,默认在C:\Users\Administrator\AppData\Roaming\npm
npm config get prefix
# 设置本地npm仓库
npm config set prefix "D:\npm\npm_repository";
# 设置本地npm缓存放哪里
npm config set cache "D:\npm\npm_cache";
把prefix这个路径加入到系统环境变量中,方便使用命令直接运行,因为elasticdump全局安装也会安装到prefix这个路径下。
导出
# 注入导出的存放目录要存在,不然会报错
# 导出索引Mapping数据
elasticdump \
--input=http://es实例IP:9200/index_name \
--output=D:/esData/mapping.json \ # 存放目录
--type=mapping
# 导出索引数据(全量)
elasticdump \
--input=http://es实例IP:9200/index_name \
--output=D:/esData/data.json \
--type=data
# 导出索引数据(指定条件)
elasticdump \
--input=http://es实例IP:9200/index_name \
--output=D:/esData/data.json \
--limit=10000
--searchBody={\"query\":{\"term\":{\"username\": \"admin\"}}}
--type=data
导出示例
# 导出mapping
elasticdump
--input=http://localhost:9200/10000_niupi_*
--output=D:/esData/mapping.json
--type=mapping
# 导出数据
elasticdump
--input=http://localhost:9200/10000_niupi_*
--output=D:/esData/data.json
--limit=10000
--searchBody={\"query\":{\"match_all\":{}}}
--type=data
说明:
--type可以不要,默认就是data
--limit=每次批量导出数据的条数
--searchBody=设置查询条件(必须是转义后的json)
文章来源:https://www.toymoban.com/news/detail-670451.html
导入
# 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
elasticsearch-dump官网传送门
文章来源地址https://www.toymoban.com/news/detail-670451.html
到了这里,关于Elasticsearch导入导出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!