一、原生批量获取文档
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”}