Elasticsearch bulk 批量操作文檔


 

打開、關閉連接代價比較高,盡量把多個操作放在一個請求中完成,來提升性能。

 

 

批量插入文檔

POST mall/_doc/_bulk
{ "index":{} }
{ "goods_name":"蘋果","goods_price":10.0,"goods_description":"新鮮蘋果,10元一斤" }
{ "index":{} }
{ "goods_name":"梨子","goods_price":5.0,"goods_description":"新鮮梨子,5元一斤" }

2行表示一個文檔

在url中指定index、type,文檔id自動生成。

 

 

也可以手動指定文檔id:

POST mall/_doc/_bulk
{ "index":{"_id":"1"} }
{ "goods_name":"蘋果","goods_price":10.0,"goods_description":"新鮮蘋果,10元一斤" }
{ "index":{"_id":"2"} }
{ "goods_name":"梨子","goods_price":5.0,"goods_description":"新鮮梨子,5元一斤" }

 

 

index、type、id都可以寫在“index”中:

POST _bulk
{ "index":{"_index":"mall","_type":"_doc","_id":"1"} }
{ "goods_name":"冬瓜","goods_price":5.0,"goods_description":"新鮮冬瓜,5元一斤" }
{ "index":{"_index":"mall","_type":"_doc","_id":"2"} }
{ "goods_name":"西瓜","goods_price":5.0,"goods_description":"新鮮西瓜,5元一斤" }

要么寫在“index”中,要么寫在url中,總之要指定index、type。在“index”中指定時有前綴_

id可以不指定,會自動生成。

 

 

用PUT、POST都行,對document來說是新建,對index、type來說是更新。

 


免責聲明!

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



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