批处理

除了能够索引,更新和删除单个文档,Elasticsearch还提供了使用_bulk API分批执行任何上述操作的能力。此功能对于以尽可能少的网络往返尽可能快地执行多个操作是很重要并且也是非常有效的机制。

下面是一个简单的例子,在一个批处理中调用索引两个文件(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" }
'

此示例在一个批处理中操作更新第一个文件(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"}}
'

请注意以上,对于删除操作,删除只要求要删除的文件的ID,然后,相应的源文件也就没有了。

results matching ""

    No results matching ""