Elasticsearch之导入导出
Posted HelloWorddddddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch之导入导出相关的知识,希望对你有一定的参考价值。
1、curl方式导出(默认支持1万条以内)
语法
curl -XPOST 'es导出地址' -H 'Content-Type: application/json' -d '查询条件' --> 导出文件名(自定义)
示例
索引:es_index
导出文件:es_index.json
curl -XPOST 'http://127.0.0.1:7001/es_index/_search?' -H 'Content-Type: application/json' -d '"query":"bool":"must":["match":"isDeleted":0]' --> es_index.json
2、elasticsearch-dump工具导入导出
前提(安装ealsticdump)
方式一:需要安装node.js环境,下载ealsticdump
方式二:使用docker,下载ealsticdump
输入命令进行查看node和npm是否安装成功
node -v
npm -v
下载ealsticdump
npm install elasticdump -g
查看安装版本
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
说明:
--type可以不要,默认就是data
--limit=每次批量导出数据的条数
-searchBody=设置查询条件(必须是转义后的json)
导入
# Mapping 数据导入至索引
./bin/elasticdump \\
--output=http://es实例IP:9200/index_name \\
--input=/home/indexdata/roll_vote_mapping.json \\ # 导入数据目录
--type=mapping
# ES文档数据导入至索引
./bin/elasticdump \\
--output=http:///es实例IP:9200/index_name \\
--input=/home/indexdata/roll_vote.json \\
--type=data
备注
官网地址:elasticdump 官网
以上是关于Elasticsearch之导入导出的主要内容,如果未能解决你的问题,请参考以下文章
使用elasticdump实现es数据导入导出示例(持续更新中)
[elk]elasticsearch dashboard+保留10天内索引+导入导出备份
Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)