本篇文章提供ES原生批量操作语法及使用bulk批量操作文档。文章依旧提供语法,具体实现大家根据语法,在对应处进行替换即可
语法: GET /_mget { “doce”:[ { “_index”:”索引名1”, “_type”:”类型1”, “_id”:”id” }, { “_index”:”索引名1”, “_type”:”类型1”, “_id”:”id”
} ] } |
GET /_mget { “doce”:[ { “_index”:”索引名1”, “_type”:”类型1”, “_id”:”id”, “_source”:”字段名” }, { “_index”:”索引名1”, “_type”:”类型1”, “_id”:”id”, “_source”:[“字段名1”,”字段名2”] } ] } |
GET /索引名/类型 _mget { “ids”:[“id1”,”id2”,”id3”] } |
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/
技术在于沟通交流!
原文:https://www.cnblogs.com/chenyuanbo/p/10138789.html