本文衔接昨日的 ElasticSearch根据字段去重。
如果桶聚合时,不去重,那么会造成统计的数量和实际输出的数量对不上的情况。那么,如何在桶聚合中根据数据字段去重呢?
这个问题因为限定在ElasticSearch 5.3的版本,没办法用更新版本(6.8及以上)的cardinality。头疼半天,还是浩哥给出了解决方案,故总结下来。
示例代码如下:
{
"aggs": {
"agg1": {
"terms": {
"field": "field1"
},
"aggs": {
"agg2": {
"terms": {
"field": "field2"
},
"aggs": {
"agg3": {
"terms": {
"field": "field3"
}
}
}
}
}
}
}
}
相关参考:
elasticsearch group-by multiple fields
Cardinality Aggregation – ElasticSearch 6.8
有强力大神协助,是工作中一大幸事。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言