作用:减少网络开销
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