#多重模式
#批量操作bulk
POST /library/books/_bulk
{"index": {"_id": 1}}
{"title":"Elasticsearch: The Definitive Guide","price":5}
{"index": {"_id": 2}}
{"title":"The Elasticsearch cookbook","price":15 }
{"index": {"_id": 3}}
{"title":"Elosticsearch Blueprints","price":9 }
{"index": {"_id": 4}}
{"title":"Thinking in Python","price":22 }
{"index": {"_id": 5}}
{"title":"Thinking in Java","price":7 }
#通过id批量获取
GET /library/books/_mget
{"ids":["1","2","3","4","5"]
}
返回结果
{"docs" : [{"_index" : "library","_type" : "books","_id" : "1","_version" : 1,"_seq_no" : 0,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Elasticsearch: The Definitive Guide","price" : 5}},{"_index" : "library","_type" : "books","_id" : "2","_version" : 1,"_seq_no" : 0,"_primary_term" : 1,"found" : true,"_source" : {"title" : "The Elasticsearch cookbook","price" : 15}},{"_index" : "library","_type" : "books","_id" : "3","_version" : 1,"_seq_no" : 0,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Elosticsearch Blueprints","price" : 9}},{"_index" : "library","_type" : "books","_id" : "4","_version" : 1,"_seq_no" : 1,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Thinking in Python","price" : 22}},{"_index" : "library","_type" : "books","_id" : "5","_version" : 1,"_seq_no" : 0,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Thinking in Java","price" : 7}}]
}
#当然注意还可以有delete,update等操作
#注意delete下面没有具体的request body
POST /library/books/_bulk
{"delete": {"_index": "library", "_type": "books","_id": "1"}}
{"create": {"_index": "music", "_type": "classical","_id":"2"}}
{"title": "Ave Verus Corpus" }
{"index": {"_index": "music", "_type": "classical"}}
{"title": "Litaniac de Venerabili Altaris Sacromento"}
{"update": {"_index": "library", "_type": "books", "_id": "2"}}
{"doc" : {"price" :"18"} }
执行批量操作后返回结果
{"took" : 43,"errors" : false,"items" : [{"delete" : {"_index" : "library","_type" : "books","_id" : "1","_version" : 5,"result" : "not_found","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 4,"_primary_term" : 1,"status" : 404}},{"create" : {"_index" : "music","_type" : "classical","_id" : "2","_version" : 1,"result" : "created","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 1,"_primary_term" : 1,"status" : 201}},{"index" : {"_index" : "music","_type" : "classical","_id" : "cVIUunABRyQ6qH3OTcbo","_version" : 1,"result" : "created","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 1,"_primary_term" : 1,"status" : 201}},{"update" : {"_index" : "library","_type" : "books","_id" : "2","_version" : 3,"result" : "noop","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"status" : 200}}]
}
结果分析执行都成功了,先看下下删除是不是成功
GET /library/books/1
批量返回结果分析:
{"docs" : [{"_index" : "library","_type" : "books","_id" : "1","found" : false},{"_index" : "library","_type" : "books","_id" : "2","_version" : 3,"_seq_no" : 4,"_primary_term" : 1,"found" : true,"_source" : {"title" : "The Elasticsearch cookbook","price" : "18"}},{"_index" : "library","_type" : "books","_id" : "3","_version" : 2,"_seq_no" : 1,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Elasticsearch Blueprints","price" : 9}},{"_index" : "library","_type" : "books","_id" : "4","_version" : 2,"_seq_no" : 3,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Thinking in Python","price" : 22}},{"_index" : "library","_type" : "books","_id" : "5","_version" : 2,"_seq_no" : 1,"_primary_term" : 1,"found" : true,"_source" : {"title" : "Thinking in Java","price" : 7}}]
}
我们还创建了一个music,获取下验证是否成功