Bulk API
- 支持在一次 API 调用中,对不同的索引进行操作;
- 支持 4 种类型操作
- 可以在URI 中指定 Index,也可以在请求的 Payload 中进行;
- 操作中单条操作失败,并不会影响其他操作;
- 返回结果包括了每一条操作的执行结果;
批量更新 | _mget
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test2", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }
批量读取 | _mget
GET /_mget
{
"docs" : [
{
"_index" : "test",
"_id" : "1"
},
{
"_index" : "test",
"_id" : "2"
}
]
}
批量读取 | _mget | uri 中指定 index
GET /test/_mget
{
"docs" : [
{
"_id" : "1"
},
{
"_id" : "2"
}
]
}
批量搜索 | _msearch
POST kibana_sample_data_ecommerce/_msearch
{}
{"query" : {"match_all" : {}},"size":1}
{"index" : "kibana_sample_data_flights"}
{"query" : {"match_all" : {}},"size":2}