Q:有两个人掉到陷阱里了,死的人叫死人,活人叫什么?

三级聚合查询数据不准确,相同条件时多时少

Elasticsearch | 作者 qq153655101 | 发布于2020年01月04日 | 阅读数:1082

场景是:
网点数据会有省、市、区code,需要根据需要根据查询条件将搜出来的网点对应的省市区聚合成一个树形且包含对应的个数
聚合代码如下:
AggregationBuilder countyAgg = AggregationBuilders.terms(aggKey).field("addressCounty").size(5000);
AggregationBuilder cityAgg = AggregationBuilders.terms(aggKey).subAggregation(countyAgg).field("addressCity").size(5000);
AggregationBuilder provinceAgg = AggregationBuilders.terms(aggKey).subAggregation(cityAgg).field("addressProvince").size(5000);
SearchRequestBuilder searchRequestBuilder = search.addAggregation(provinceAgg);
log.info("query outlet es aggregation statement = " + searchRequestBuilder);
返回的结果结构:
"cityList":[{"cityCode":"440000","cityName":"广东省","outletNum":14,"cityArea":[{"cityCode":"440300","cityName":"深圳市","outletNum":11,"cityArea":[{"cityCode":"440304","cityName":"福田区","outletNum":4,"cityArea":[]},{"cityCode":"440311","cityName":"龙华新区","outletNum":4,"cityArea":[]},{"cityCode":"440303","cityName":"罗湖区","outletNum":1,"cityArea":[]},{"cityCode":"440306","cityName":"宝安区","outletNum":1,"cityArea":[]},{"cityCode":"440313","cityName":"大鹏新区","outletNum":1,"cityArea":[]}]},{"cityCode":"440400","cityName":"珠海市","outletNum":2,"cityArea":[{"cityCode":"440402","cityName":"香洲区","outletNum":1,"cityArea":[]},{"cityCode":"440404","cityName":"金湾区","outletNum":1,"cityArea":[]}]},{"cityCode":"440100","cityName":"广州市","outletNum":1,"cityArea":[{"cityCode":"440103","cityName":"荔湾区","outletNum":1,"cityArea":[]}]}]},{"cityCode":"110100","cityName":"北京市","outletNum":2,"cityArea":[{"cityCode":"110100","cityName":"北京市","outletNum":2,"cityArea":[{"cityCode":"110101","cityName":"东城区","outletNum":2,"cityArea":[]}]}]},{"cityCode":"140000","cityName":"山西省","outletNum":1,"cityArea":[{"cityCode":"140400","cityName":"长治市","outletNum":1,"cityArea":[{"cityCode":"140421","cityName":"长治县","outletNum":1,"cityArea":[]}]}]},{"cityCode":"340000","cityName":"安徽省","outletNum":1,"cityArea":[{"cityCode":"340100","cityName":"合肥市","outletNum":1,"cityArea":[{"cityCode":"340102","cityName":"瑶海区","outletNum":1,"cityArea":[]}]}]}]
相同的条件部分地区个数出现变动,上面的是测试数据生产的数据多一点,但是有过滤条件没有超过5000的,索引分片是5葛
已邀请:

要回复问题请先登录注册