👏作者简介:大家好,我是Rockey,不知名企业的不知名Java开发工程师
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
📝联系方式:he18339193956,加我进群,大家一起学习,一起读书,一起对抗互联网寒冬👀
elasticdump 简介
elasticdump是一个能够将es的数据快速导入、导出、迁移的工具。
下载地址:https://github.com/elasticsearch-dump/elasticsearch-dump
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站
点击跳转浏览。
1.elasticdump导入ES数据到本地json文件
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd --output=D:/xqd.json
2、将本地数据导入es中
elasticdump --input=D:/ES/date/demo.json --output=http://localhost:9200/demo1
如果报错信息如下:
Wed, 07 Jun 2023 01:39:16 GMT | dump ended with error (get phase) => UNAUTHORIZED: {“error”:{“root_cause”:[{“type”:“security_exception”,“reason”:“missing authentication token for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}}],“type”:“security_exception”,“reason”:“missing authentication token for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}},“status”:401}
那么表示无权限访问或未授权访问目标Elasticsearch集群,需要加上用户名和密码
命令如下:
elasticdump --input=D:/ryxx.json --output=http://username:password@IP:9200/my_index --type=data
有些人用
elasticdump --input=D:/ryxx.json --output=http://IP:9200/my_index --username=username --password=password --type=data
这个是不对的,这个会报错
3、将es导入另一个es
elasticdump --input=http://ip:9200/demo --output=http://127.0.0.1:9200/demo
4 .其他参数
elasticdump \
--input=http://elastic:password@host:port/index_aaa \
--output=http://elastic:password@host:port/index_bbb \
--type=data --limit 1000 --support-big-int
通过指定--limit 1000
,设置每批次同步文档数量。
注:通过指定--support-big-int
参数,解决long类型字段丢失精度问题。
根据条件进行查询 到的数据进行迁移,
现在kibana中查询好,然后复制查询语句,将语句进行压缩转义然后执行即可
查询语句json要先进行压缩转义
https://www.bejson.com/
文章来源:https://www.toymoban.com/news/detail-415635.html
使用–searchBody
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd --output=D:/xqd.json --searchBody {\"query\":{\"bool\":{\"must\":[{\"range\":{\"JD\":{\"from\":116.388474,\"to\":116.67818,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"WD\":{\"from\":39.621549,\"to\":39.839061,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}}],\"must_not\":[{\"term\":{\"JLZT\":{\"value\":\"0\",\"boost\":1.0}}}],\"disable_coord\":false,\"adjust_pure_negative\":true,\"boost\":1.0}}} --limit 10000
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xtzd/xtzd --output=D:/xtzd.json --searchBody {\"query\":{\"bool\":{\"must\":[{\"term\":{\"ZDLX\":{\"value\":\"ZQXX_ZQLX\",\"boost\":1.0}}},{\"prefix\":{\"BZXX\":{\"value\":\"A01\"}}}]}}}
使用–searchBody 向本机ES导数据
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd --output=http://localhost:9200/a_ems_xqd_11/xqd --searchBody {\"query\":{\"bool\":{\"must\":[{\"range\":{\"JD\":{\"from\":116.388474,\"to\":116.67818,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"WD\":{\"from\":39.621549,\"to\":39.839061,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}}],\"must_not\":[{\"term\":{\"JLZT\":{\"value\":\"0\",\"boost\":1.0}}}],\"disable_coord\":false,\"adjust_pure_negative\":true,\"boost\":1.0}}} --limit 10000
使用–type=analyzer导出分析器
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd --output=D:/xqd.json --type=analyzer
结语
🔥一个人可以掌握知识,但只有与他人交流才能形成智慧。
🔥One person can acquire knowledge, but wisdom is formed only in the exchange with others.
📝 欢迎大家关注博主公众号 Rockey小何同学 添加博主微信:he18339193956进群,一起学习,一起成长,一起提高认知。
🏆 我坚信人与人之间的差距是表面上是财富的差距,本质上是大脑中认知的差距,文章来源地址https://www.toymoban.com/news/detail-415635.html
到了这里,关于elasticdump迁移ES数据详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!