1 介紹
主要介紹批量操作bulk颅湘,使用postman進行請求,接口請求的前綴地址統(tǒng)一為elasticsearch 部署IP地址+端口號(例如 http://192.168.51.4:9200 物邑。
2 批量操作bulk
2.1 基礎(chǔ)語法
bulk操作和以往的普通請求格式有區(qū)別昼钻。指令一般都在一行袁余,用換行符隔開,不是標準的JSON格式柄瑰,這點需要注意闸氮。
{action: {metadata}} \n
{request body} \n
{action: {metadata}} \n
{request body} \n
...
-
{action: {metadata}}
代表批量操作的類型赚爵,可以是新增嵌纲、刪除和修改 -
\n
是每行結(jié)尾必須填寫的一個規(guī)范,每一行包括最后一行都需要寫蟹地,用于es的解析 -
{request body}
是請求body授翻,增加和修改操作需要或悲,刪除操作則不需要
2.2 批量操作類型
action
必須是以下選項之一:
- create:如果文檔不存在,那么就創(chuàng)建它堪唐,存在的話巡语,就會報錯,發(fā)生異常報錯不會影響其他操作
- index:創(chuàng)建一個新文檔或者替換一個現(xiàn)有的文檔
- update:部分更新一個文檔
- delete:刪除一個文檔
metadata
中需要指定要操作的文檔的 _index
淮菠、_type
和 _id
男公,同時_index
、_type
也可在url中指定
2.3 操作演練
官方地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/bulk.html
-
create 新增文檔數(shù)據(jù)合陵,在metadata中指定index以及type
POST /_bulk
{"create":{"_index": "test","_type": "_doc","_id": "2001"}} {"id": "2001","nickname":"test-2001"} {"create":{"_index": "test","_type": "_doc","_id": "2002"}} {"id": "2002","nickname":"test-2002"} {"create":{"_index": "test","_type": "_doc","_id": "2003"}} {"id": "2003","nickname":"test-2003"}
-
create 創(chuàng)建已有id文檔枢赔,在url中指定index和type
POST /test/_doc/_bulk
{"create":{"_id": "2004"}} {"id": "2004","nickname":"test-2004"} {"create":{"_id": "2005"}} {"id": "2005","nickname":"test-2005"} {"create":{"_id": "2006"}} {"id": "2006","nickname":"test-2006"}
-
index 創(chuàng)建,已有文檔ID會被覆蓋拥知,不存在ID則新增
POST /test/_doc/_bulk
{"index":{"_id": "2005"}} {"id": "2005","nickname":"test-index"} {"index":{"_id": "2006"}} {"id": "2006","nickname":"test-2006"} {"index":{"_id": "2007"}} {"id": "2007","nickname":"test-2007"}
-
update 更新部分文檔信息
POST /test/_doc/_bulk
{"update":{"_id": "2004"}} {"doc": {"id": "2004"}} {"update":{"_id": "2005"}} {"doc": {"nickname":"test-update"}}
-
delete 批量刪除
POST /test/_doc/_bulk
{"delete":{"_id": "2004"}} {"delete":{"_id": "2005"}}
-
綜合批量操作
POST /test/_doc/_bulk
{"create":{"_index": "test","_type": "_doc","_id": "2009"}} {"id": "2009","nickname":"test-2009"} {"update":{"_id": "2005"}} {"doc": {"nickname":"test-update"}} {"id": "2001","nickname":"test-2001"} {"delete":{"_id": "2004"}}
3 相關(guān)信息
- 博文不易踏拜,辛苦各位猿友點個關(guān)注和贊,感謝