Multi-Get API 主要用于根于id集合,批量查询文档内容,支持查询多个索引内容。
创建MultiGetRequest对象
MultiGetRequest request = new MultiGetRequest();
// 通过MultiGetRequest.Item对象设置查询参数
request.add(new MultiGetRequest.Item(
"index", // 索引名
"12345")); // 文档id
// 添加另外一组查询参数,索引名=index, 索引Id=another_id
request.add(new MultiGetRequest.Item("index", "another_id"));
执行请求
MultiGetResponse response = client.mget(request, RequestOptions.DEFAULT);
处理结果
// response.getResponses返回多个MultiGetItemResponse对象,每个MultiGetItemResponse对象代表一个查询结果,这里以其中一个结果为例。
// ps: 通常是需要循环遍历response.getResponses返回的结果
MultiGetItemResponse firstItem = response.getResponses()[0];
assertNull(firstItem.getFailure());
GetResponse firstGet = firstItem.getResponse();
String index = firstItem.getIndex(); // 获取索引名
String id = firstItem.getId();// 获取文档Id
if (firstGet.isExists()) { // 检测文档是否存在
long version = firstGet.getVersion(); // 获取版本号
// 查询文档内容,json字符串格式
String sourceAsString = firstGet.getSourceAsString();
// 查询文档内容,Map对象格式
Map<String, Object> sourceAsMap = firstGet.getSourceAsMap();
} else {
}