ElasticSearch学习--批量操作命令之Bulk API

 时间:2026-02-12 09:21:48

1、批量新增文档--index方式

命令格式:

POST _bulk

{“index”: {“_index”: 索引名称, “_id”: 文档ID1}} 

{新增文档1内容}

{“index”: {“_index”: 索引名称, “_id”: 文档ID2}} 

{新增文档2内容}

......

上述命令可以一次性向索引中新增多条文档数据,注意可以向同一个索引中新增,也可以向不同索引中新增。

对于 _bulk 命令,处理的多条文档中,一个文档失败并不会影响其他文档操作,每一个文档操作均会返回一个对应的结果

图1示:通过 _bulk 批量向索引中新增文档数据

图2示:再次执行该命令,因为使用“Index文档”的方式新增数据,所以新增相同ID的数据不会报错,文档元数据_version的值会增 1

ElasticSearch学习--批量操作命令之Bulk API

ElasticSearch学习--批量操作命令之Bulk API

2、批量新增文档--create方式

命令格式:

POST _bulk

{“create”: {“_index”: 索引名称, “_id”: 文档ID1}} 

{新增文档1内容}

{“create”: {“_index”: 索引名称, “_id”: 文档ID2}} 

{新增文档2内容}

......

图1示:通过 _bulk 批量向索引中新增文档数据

图2示:再次执行该命令,因为使用“Create文档”的方式新增数据,所以新增相同ID的数据会因为冲突报错,全部失败

图3示:部分文档ID冲突,部分不冲突,不冲突的文档新增成功,冲突的文档新增失败

ElasticSearch学习--批量操作命令之Bulk API

ElasticSearch学习--批量操作命令之Bulk API

ElasticSearch学习--批量操作命令之Bulk API

3、批量更新文档

命令格式:

POST _bulk

{“update”: {“_index”: 索引名称, “_id”: 文档ID1}} 

{“doc”: {文档1内容} }

{“update”: {“_index”: 索引名称, “_id”: 文档ID2}} 

{“doc”: {文档2内容} }

......

图1示:通过 _bulk 批量更新索引中的文档数据,其中一条更新成功,一条因为无法获取对应ID的文档,更新失败

图2示:获取更新后的文档信息,确认文档更新成功

ElasticSearch学习--批量操作命令之Bulk API

ElasticSearch学习--批量操作命令之Bulk API

4、批量删除文档

命令格式:

POST _bulk

{“delete”: {“_index”: 索引名称, “_id”: 文档ID1}} 

{“delete”: {“_index”: 索引名称, “_id”: 文档ID2}} 

......

图1示:通过 _bulk 批量删除索引中的文档数据,其中一条删除成功,一条因为无法获取指定ID的文档而返回not_found

图2示:获取删除的文档信息,确认文档删除成功

ElasticSearch学习--批量操作命令之Bulk API

ElasticSearch学习--批量操作命令之Bulk API

5、注意,上述命令演示中均操作的是一个索引中的多条文档数据,只要将请求传递的参数中的“索引名称”字段更换为别的索引,这些命令就可以操作多条索引的多个文档数据了。


  • 向领导或老板汇报工作的几个技巧
  • 怎样打好高尔夫球的球道
  • 芭比波朗粉底液|无滤镜无美颜测评
  • 教你如何预测生男生女
  • 360浏览器如何开启关闭时最小化到系统托盘
  • 热门搜索
    厦门旅游攻略住宿 杭州西溪湿地旅游攻略 大连 旅游 新疆旅游景点介绍 山西旅游一卡通 广州旅游地图 湖北旅游地图 鄂西生态文化旅游圈 欧洲旅游哪条线路好 苏州有哪些旅游景点