elasticsearch使用bulk實現批量操作


       本篇文章提供ES原生批量操作語法及使用bulk批量操作文檔。文章依舊提供語法,具體實現大家根據語法,在對應處進行替換即可

一、原生批量獲取文檔

1、獲取指定文檔值(1

語法:

GET /_mget

{

 “doce”:[

   {

     “_index”:”索引名1”,

     “_type”:”類型1”,

     “_id”:”id”

   },

   {

     “_index”:”索引名1”,

     “_type”:”類型1”,

     “_id”:”id”

 

   }

 ]

}

2、獲取指定字段的值(2

GET /_mget

{

 “doce”:[

   {

     “_index”:”索引名1”,

     “_type”:”類型1”,

     “_id”:”id”,

     “_source”:”字段名”

   },

   {

     “_index”:”索引名1”,

     “_type”:”類型1”,

     “_id”:”id”,

     “_source”:[“字段名1”,”字段名2”]

   }

 ]

}

 

3、當索引和類型一致時獲取多個文檔

GET /索引名/類型 _mget

{

 “ids”:[“id1”,”id2”,”id3”]

}

二、使用bulk API實現批量操作

 Bulk的格式:

{action:{metadata}}\n

{requestbody}\n

action:(行為)

create :文檔不存在時創建(存在時創建會報錯)

update:更新文檔

index:創建新文檔或替換已有的文檔

delete:刪除一個文檔

metadata:_index,_type,_id

示例:

{

“delete”:{

     “_index”:”索引名”,

     “_type”:”類型”,

     “_id”:”id

}

}

同時添加多個文檔

POST /索引名/類型/_bulk

{“index”:{“_id”:1}}換行

{“字段名1”:”值1”,”字段名2”:”值2”}

{“index”:{“_id”:2}}換行

{“字段名1”:”值1”,”字段名2”:”值2”}

{“index”:{“_id”:3}}換行

{“字段名1”:”值1”,”字段名2”:”值2”}

       以上代碼是本人根據實際使用進行的提煉,若大家有所疑問或不同見解歡迎評論。本人博客主頁:https://home.cnblogs.com/u/chenyuanbo/

技術在於溝通交流!

 


免責聲明!

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



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