Elasticsearch批处理操作——bulk API

Posted 穷开心y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch批处理操作——bulk API相关的知识,希望对你有一定的参考价值。

  Elasticsearch提供的批量处理功能,是通过使用_bulk API实现的。这个功能之所以重要,在于它提供了非常高效的机制来尽可能快的完成多个操作,与此同时使用尽可能少的网络往返。

1、批量索引,即批量添加文档

  以下调用在一次bulk操作中索引了两个文档(ID 1 - John Doe and ID 2 - Jane Doe):

 curl -XPOST localhost:9200/customer/external/_bulk?pretty -d          {"index":{"_id":"1"}}
         {"name": "John Doe" }
         {"index":{"_id":"2"}}
         {"name": "Jane Doe" }
         

2、以下例子在一个bulk操作中,首先更新第一个文档(ID为1),然后删除第二个文档(ID为2):

 curl -XPOST localhost:9200/customer/external/_bulk?pretty -d          {"update":{"_id":"1"}}
         {"doc": { "name": "John Doe becomes Jane Doe" } }
         {"delete":{"_id":"2"}}
         

注意上面的delete动作,由于删除动作只需要被删除文档的ID,所以并没有对应的源文档。

    bulk API按顺序执行这些动作。如果其中一个动作因为某些原因失败了,将会继续处理它后面的动作。当bulk API返回时,它将提供每个动作的状态(按照同样的顺序),所以你能够看到某个动作成功与否。



以上是关于Elasticsearch批处理操作——bulk API的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch之批量操作bulk

ELK 学习笔记之 elasticsearch Bulk操作:

java操作elasticsearch实现批量添加数据(bulk)

(09)ElasticSearch 使用Bulk实现批量操作

初识ElasticSearch -批量操作之bulk | 条件查询 | 其它查询

初识ElasticSearch -批量操作之bulk | 条件查询 | 其它查询