一、数据聚合
@Override
public Map<String, List<String>> filters() {
try {
//1.准备请求
SearchRequest request = new SearchRequest("hotel");
//2.准备DSL
//2.1设置size
request.source().size(0);
//2.2聚合
buildAggregation(request);
//3.发出请求
SearchResponse response = client.search(request, RequestOptions.DEFAULT);
//4.解析结果
Map<String, List<String>> result = new HashMap<>();
Aggregations aggregations = response.getAggregations();
//4.1根据品牌名称,获取品牌结果
List<String> brandList = getAggByName(aggregations,"brandAgg");
result.put("品牌",brandList);
//4.2根据城市名称,获取城市结果
List<String> cityList = getAggByName(aggregations,"cityAgg");
result.put("城市",cityList);
//4.1根据星级名称,获取星级结果
List<String> starList = getAggByName(aggregations,"starAgg");
result.put("星级",starList);
return result;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private List<String> getAggByName(Aggreg