
@Autowired
JestClient jestClient;
SearchResult searchResult = jestClient.execute(search);
// 聚合分组
TermsAggregationBuilder groupby_attr = AggregationBuilders.terms("field_Agg").field("field");
// 仅显示每一组中第一个document
TopHitsAggregationBuilder suBuilder = AggregationBuilders.topHits("sub_agg").size(1);
groupby_attr.subAggregation(suBuilder);
searchSourceBuilder.aggregation(groupby_attr);
//按照专辑id对搜索结果进行分组,并且从每组中取出一个
JsonArray listt = searchResult.getAggregations().getTopHitsAggregation("field_Agg").getJsonObject()
.getAsJsonArray("buckets");
List vvList = new ArrayList();
for (JsonElement jsonElement : listt) {
JsonObject ss = jsonElement.getAsJsonObject().getAsJsonObject("sub_agg").getAsJsonObject("hits")
.getAsJsonArray("hits").get(0).getAsJsonObject().getAsJsonObject("_source");
ESDO vv = new Gson().fromJson(ss, Bean.class);
vvList.add(vv);
}
FR:徐海涛(hunk xu)
QQ技术交流群:386476712
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)