ElasticSearch 中 _bulk 的使用

2019-11-25  本文已影响0人  HelenYin
批量操作API: _bulk

index, create, update, delete

index

{“index”: {“_index”: 索引名称, “_id”: 文档ID1}} 
{新增文档1内容}
{“index”: {“_index”: 索引名称, “_id”: 文档ID2}} 
{新增文档2内容}

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


使用index新增文档,如果_id相同不会报错,但是_version会增加。

create

POST _bulk
{“create”: {“_index”: 索引名称, “_id”: 文档ID1}} 
{新增文档1内容}
{“create”: {“_index”: 索引名称, “_id”: 文档ID2}} 
{新增文档2内容}

与index的区别是,新增的_id相同的数据会因为冲突报错。

update

POST _bulk
{“update”: {“_index”: 索引名称, “_id”: 文档ID1}} 
{“doc”: {文档1内容} }
{“update”: {“_index”: 索引名称, “_id”: 文档ID2}} 
{“doc”: {文档2内容} }

存在的_id会更新成功,不存在的id会报错

delete

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

批量删除,有_id的会删除成功,没有的则报错。

上一篇 下一篇

猜你喜欢

热点阅读