elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除

elasticsearch的批量查询

一、使用mget批量获取

1.通过mget实现批量查询,并且可以通过found字段返回的数据判断数据是否存在,如果返回false则表示数据不存在,返回true则表示数据存在

POST 192.168.1.117:9200/sell/_doc/_mget

{
	"ids": ["1001", "1003", "10015"]
}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第1张图片

二、使用bulk批量操作数据

bulk官方文档

基本语法
bulk操作和以往的普通请求格式有区别。不要格式化json,不然就不在同一行了,这个需要注意。

{ action: { metadata }}\n
{ request body }\n
{ action: { metadata }}\n
{ request body }\n …

  • { action: { metadata }} 代表批量操作的类型,可以是新增、删除或修改
  • \n 是每行结尾必须填写的一个规范,每一行包括最后一行都要写,用于es的解析
  • { request body } 是请求body,增加和修改操作需要,删除操作则不需要

1.批量新增:create,如果文档不存在,那么就创建它。存在会报错。发生异常报错不会影响其他操作。注意细节最后新增的数据集的回车,光标不能数据在最后一行否则会报错,如下截图

POST 192.168.1.117:9200/sell2/_doc/_bulk

{"create": {"_id": "3001"}}
{"id": "3001", "nickname": "name-3001"}
{"create": {"_id": "3002"}}
{"id": "3002", "nickname": "name-3002"}
{"create": {"_id": "3003"}}
{"id": "3003", "nickname": "name-3003"}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第2张图片
2.批量新增:index,创建一个新文档或者替换一个现有的文档。注意细节最后新增的数据集的回车,光标不能数据在最后一行否则会报错,如下截图

POST 192.168.1.117:9200/sell2/_doc/_bulk

{"index": {"_id": "3001"}}
{"id": "3001", "nickname": "name-3001"}
{"index": {"_id": "3002"}}
{"id": "3002", "nickname": "name-3004"}
{"index": {"_id": "3005"}}
{"id": "3005", "nickname": "name-3005"}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第3张图片
3.批量修改:update,创部分更新一个文档。注意细节最后新增的数据集的回车,光标不能数据在最后一行否则会报错,如下截图

192.168.1.117:9200/sell2/_doc/_bulk

{"update": {"_id": "2001"}}
{"doc": {"id": "3003"}}
{"update": {"_id": "2001"}}
{"doc": {"nickname": "name-12312312"}}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第4张图片

4.批量删除:delete,删除一个文档,注意细节最后新增的数据集的回车,光标不能数据在最后一行否则会报错,如下截图

192.168.1.117:9200/sell2/_doc/_bulk

{"delete": {"_id": "3001"}}
{"delete": {"_id": "3002"}}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第5张图片5.bulk的批量操作一起使用

POST 192.168.1.117:9200/sell2/_doc/_bulk

{"delete":{"_id": "1001"}}
{"delete":{"_id": "1003"}}
{"create": {"_id": "8008"}}
{"id": "8008", "nickname": "name-3001"}
{"update": {"_id": "1008"}}
{"doc": {"id": "2222"}}

elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除_第6张图片

你可能感兴趣的:(elasticsearch,es)