Bulk指令之批量操作

介绍

Bulk是Es官方自带的批量插入,更新或删除的命令

Bulk会把将要处理的数据载入内存中,所以数据量是有限制的,最佳的数据量不是一个确定的数值,它取决于你的硬件,你的文档大小以及复杂性,你的索引以及搜索的负载。

一般建议是1000-5000个文档,如果你的文档很大,可以适当减少队列,大小建议是5-15MB,默认不能超过100M,可以在Es的配置文件(elasticsearch.yml)中。来修改这个值http.max_content_length: 100mb【不建议修改,太大的话bulk也会慢】

如何使用

固定格式

bulk的使用有固定的文件格式

删除格式

{ "delete" : { "_index" : "test", "_type" : "2022", "_id" : "1" } }
{ "delete" : { "_index" : "test", "_type" : "2022", "_id" : "2" } }

插入格式

第一种

{ "index" : { "_index" : "test", "_type" : "2022", "_id" : "1" } }
{ "name" : "张三" }
{ "index" : { "_index" : "test", "_type" : "2022", "_id" : "2" } }
{ "name" : "李四" }

第二种

{ "create" : { "_index" : "test", "_type" : "2022", "_id" : "1" } }
{ "name" : "张三" }
{ "create" : { "_index" : "test", "_type" : "2022", "_id" : "2" } }
{ "name" : "李四" }

更新格式

{ "update" : {"_id" : "1", "_type" : "2022", "_index" : "test"} }
{ "doc" : {"name" : "王五"} }
{ "update" : {"_id" : "2", "_type" : "2022", "_index" : "test"} }
{ "doc" : {"name" : "赵六"} }

总结一下上面的格式,一般完整的一条数据是由两行构成(删除除外),并且各行之间有换行符,第一行一般是定位这条doc,第二条一般是数据,并且导入文件最后一行可能需要换行符

具体实操

curl -H 'Content-Type:application/json' -XPOST 'http://ip:port_bulk?pretty' --data-binary @json文件

插入数据

插入数据结果

删除数据

删除数据结果

修改数据

修改数据结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我教你啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值