简单实例:批量curd操作
mget批量查询
bulk批量增删改
mget批量查询
一条一条的查询
GET /test_index/test_type/1
GET /test_index/test_type/2mget批量查询
GET /_mget
{
"docs" : [
{
"_index" : "test_index",
"_type" : "test_type",
"_id" : 1
},
{
"_index" : "test_index",
"_type" : "test_type",
"_id" : 2
}
]
}返回结果
如果查询的document是一个index下的不同type种的话
如果查询的数据都在同一个index下的同一个type下
bulk批量增删改
操作原型:
每一个操作要两个json串,语法如下:
其中action有以下参数:
(1)delete:删除一个文档,只要1个json串就可以了
(2)create:
PUT /index/type/id/_create,强制创建(文档已存在会报错)(3)index:普通的put操作,可以是创建文档,也可以是全量替换文档
(4)update:执行的partial update操作
实例:
注意metadata信息包括_index, _type,_id等
实例:
bulk api对json的语法,有严格的要求,每个json串不能换行,只能放一行,同时一个json串和一个json串之间,必须有一个换行
返回成功结果:
bulk操作中,任意一个操作失败,是不会影响其他的操作的,但是在返回结果里,会告诉你异常日志
异常错误日志,根据错误日志 进行相应处理:
同一个index下操作
同一个index,同一个type下操作
bulk size最佳大小
bulk request会加载到内存里,如果太大的话,性能反而会下降,因此需要反复尝试一个最佳的bulk size。一般从1000~5000条数据开始,尝试逐渐增加。另外,如果看大小的话,最好是在5~15MB之间。
Last updated
Was this helpful?