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返回時,它將提供每個動作的狀態(按照同樣的順序),所以你能夠看到某個動作成功與否。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM