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

2025-05-21 07:43:19

1、批量新增文档--in蟠校盯昂dex方式命令格式: 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、注意,上述命令演示中均操作的是一个索引中的多条文档数据,只要将请求传递的参数中的“索引名称”字段更换为别的索引,这些命令就可以操作多条索引的多个文档数据了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢