1. 程式人生 > >elasticsearch使用bulk實現批量操作

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/

技術在於溝通交流!