06-Elasticsearch-批量操作 bulk

批量操作 bulk

基本语法

bulk操作和以往的普通请求格式有区别, 不要格式化JSON, 不然就不在同一行了, 这个需要注意

  • {action:{metadata}}代表批量操作的类型, 可以是新增, 删除, 修改
  • \n是每行结尾必须填写的一个规范, 每一行包括最后一行都要写, 用于ES 解析(不要写出来,就是回车换行)
  • {request body}是请求body, 增加和修改操作需要, 删除操作则不需要

批量操作的类型

action必须是一下选项之一:

  • create:如果文档不存在,那么就创建它。存在会报错。发生异常报错不会影响其他操作。
  • index:创建一个新文档或者替换一个现有文档。
  • update:部分更新一个文档。
  • delete:删除一个文档。

metadata中需要指定要操作的文档的_index、_type和_id,_index、_type也可以在url中指定。

样例

批量新增记录

POST /_bulk
{ "create":{ "_index":"shop2", "_id":"2005" } }
{ "id":"2005", "nickname":"name-2005" }
{ "create":{ "_index":"shop2","_id":"2006" } }
{ "id":"2006", "nickname":"name-2006" }
{ "create":{ "_index":"shop2", "_id":"2007" } }
{ "id":"2007", "nickname":"name-2007" }

简写

POST /shop2/_bulk
{ "create":{"_id":"2008" } }
{ "id":"2008", "nickname":"name-2008" }
{ "create":{"_id":"2009" } }
{ "id":"2009", "nickname":"name-2009" }
{ "create":{"_id":"20011" } }
{ "id":"2011", "nickname":"name-20011" }

批量新增/替换

POST /shop2/_bulk
{ "index":{"_id":"2008" } }
{ "id":"2008", "nickname":"name-2008" }
{ "index":{"_id":"2009" } }
{ "id":"2009", "nickname":"name-2009" }
{ "index":{"_id":"20011" } }
{ "id":"2010", "nickname":"name-20010" }

批量修改

POST /shop2/_bulk
{ "update":{"_id":"2008" } }
{ "doc":{"id":"1", "nickname":"name-1"} }
{ "update":{"_id":"2009" } }
{ "doc":{"id":"2", "nickname":"name-2"} }

批量删除

POST /shop2/_bulk
{ "delete":{"_id":"2008" } }
{ "delete":{"_id":"2009" } }

批量的操作可以结合使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值