当前位置: 首页 > news >正文

ES _bulk 批量操作用法

es 的 bulk 操作,是用来批量发送请求,或者理解为批量操作的。

支持4种操作

bulk 支持多种操作,如下createindexupdatedelete

  • create 如果文档不存在就创建,但如果文档存在就返回错误
  • index 如果文档不存在就创建,如果文档存在就更新
  • update 更新一个文档,如果文档不存在就返回错误
  • delete 删除一个文档,如果要删除的文档id不存在,就返回错误
语法结构

语法结构上,一个操作分为两部分,一部分指定操作类型和索引,另一部分是请求体;


针对不同的操作类型,第二行的请求体是不一样的
(1)index 和 create 第二行是source数据体
(2)delete 没有第二行
(3)update 第二行可以是partial doc,upsert或者是script

示例

POST /_bulk
{"create":{"_index":"索引名", "_id":"文档"}} // 动作
{"field1":"value1"} //请求体
  1. 批量执行两个动作

POST /_bulk
{"create":{"_index":"zm_blog5"}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}
{"create":{"_index":"zm_blog5"}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}

POST zm_blog5/_bulk
{"create":{}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}
{"create":{}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}

执行返回结果

执行结果是分开的,比如发送2个操作,两个操作结果分别返回,可能其中一个失败另一个成功

比如执行:

POST /_bulk
{"create":{"_index":"zm_blog5"}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}
{"create":{"_index":"zm_blog5"}}
{"name":"小刘","desc":{"simple":"山西人","complete":"山西人,定居太原","other":"程序员"}}

返回结果:
每个返回结果中有 http status,以及其他详细信息。

{"took" : 8,"errors" : false,"items" : [{"create" : {"_index" : "zm_blog5","_type" : "_doc","_id" : "wKNBpYQBCuglFCwN_ObP","_version" : 1,"result" : "created","_shards" : {"total" : 1,"successful" : 1,"failed" : 0},"_seq_no" : 1,"_primary_term" : 1,"status" : 201  }},{"create" : {"_index" : "zm_blog5","_type" : "_doc","_id" : "waNBpYQBCuglFCwN_ObP","_version" : 1,"result" : "created","_shards" : {"total" : 1,"successful" : 1,"failed" : 0},"_seq_no" : 2,"_primary_term" : 1,"status" : 201}}]
}



作者:zhimin_
链接:https://www.jianshu.com/p/60a792037f8c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lryc.cn/news/194990.html

相关文章:

  • LCR 176.判断是否为平衡二叉树
  • 跨境商城源码有哪些独特的功能和优势
  • latex如何对.pdf格式的图片实现裁剪
  • windows10下 iperf3测试带宽
  • Stratasys F170 3D打印教程
  • 以太坊 CALL 数据解析【ETH】
  • Xilinx IP 10G Ethernet PCS/PMA IP Core
  • 软件设计师_面向对象_学习笔记
  • 行业追踪,2023-10-16
  • ubuntu深度学习配置
  • 大数据flink篇之三-flink运行环境安装后续一yarn-session安装
  • Chrome Extensions v3 迁移清单
  • TCP/IP(十二)TCP的确认、超时、重传机制
  • C/C++陷阱——临时变量的产生和特性
  • 【音视频|ALSA】SS528开发板编译Linux内核ALSA驱动、移植alsa-lib、采集与播放usb耳机声音
  • C/C++基础讲解(一百三十一)之经典篇(信息合并/平均分数存储)
  • 【ROS】使用vscode浏览navigation2源码时,提示:没有那个文件或目录
  • ARM-day9作业
  • ORA-00600: internal error code, arguments
  • C#里氏替换
  • Java-使用sqlSessionTemplate实现批量更新-模拟mybatis 动态sql
  • Eslint配置 Must use import to load ES Module(已解决)
  • 正向代理(流量代理)
  • 易天光通信推出100G BIDI ER光模块最新解决方案
  • Flask框架配置celery-[1]:flask工厂模式集成使用celery,可在异步任务中使用flask应用上下文,即拿即用,无需更多配置
  • 合并二叉树
  • Sanic​——Python函数变成API的神器
  • Windows连接不上VMware,ping不通的问题
  • 24、Flink 的table api与sql之Catalogs(java api操作数据库、表)-2
  • 【MySQL】深入了解索引的底层逻辑结构