作用:减少网络开销
GET /_mget //如果 /_mget前面指明了_index,docs中就不需要写"_index"
{
"docs":[ //docs固定,返回多个documents
{
"_index":"index5",
"_type":"type5",
"_id":"1"
},
{
"_index":"index5",
"_type":"type5",
"_id":"2"
}
]
}
GET /index5/type5/_mget
{
"docs":[
{
"_id":"1"
},
{
"_id":"2"
}
]
}
GET /index5/type5/_mget
{
"ids":[1,2] //可以简写
}
(1)delete:删除一个文档,只要1个json串就可以了
(2)create:相当 PUT/index/type/id/_create,强制创建,存在就报错
(3)index:普通的put操作,可以是创建文档,也可以是全量替换文档
(4)update:执行的partial update操作
POST /_bulk
{"delete":{"_index":"index5","_type":"type5","_id":1}} //注意json字符串必须放在同一行,并且不同操作必须换行,另外如果不是语法错误,某一个操作失败(例如delete)是不影响其他操作的,返回结果会有日志,告诉你错误
{"create":{"_index":"index5","_type":"type5","_id":3}}
{"num":3}
{"update":{"_index":"index5","_type":"type5","_id":2}}
{"doc":{"num":2}}
补充:bulk size最佳大小
bulk.request会加载到内存里,如果太大的话,性能反而会下降,因此需要反复尝试一个最佳的bulk size。一般从1000~5000条数据开始,尝试逐渐增加。另外,如果看大小的话,最好是在5~15MB之间。
原文:https://www.cnblogs.com/yanxiaoge/p/11143080.html