gpt4 book ai didi

search - Elasticsearch 查询最大值聚合

转载 作者:行者123 更新时间:2023-11-29 02:56:48 27 4
gpt4 key购买 nike

我有这样的数据:

Name     Fees Collected     Date
Name1 100 2017-05-01T12:00:00
Name1 200 2017-05-02T12:00:00
Name2 500 2017-05-05T12:00:00
Name2 600 2017-05-06T12:00:00
Name3 1000 2017-05-010T12:00:00
Name3 1100 2017-05-011T12:00:00
Name4 1500 2017-05-011T12:00:00

我如何编写查询以将过滤/分组的聚合返回到最大日期,每个组的最小文档计数为 2?

我希望得到以下输出:

Name     Fees Collected   Date  
Name1 200 2017-05-02T12:00:00
Name2 600 2017-05-06T12:00:00
Name3 1100 2017-05-011T12:00:00

最后,我会得到如下聚合

"aggregations" {
"Fees Collected " : "1900" //(200+600+1100)
}

有没有办法在 Elasticsearch 中实现这一点?谢谢..

最佳答案

有办法!

首先,您需要在“名称”字段上进行术语聚合,并添加“min_doc_count”:3。然后是字段“日期”上的子 max_aggregation。

像这样的东西:

"aggs": {
"split_by_name": {
"terms": {
"field": "Name",
"min_doc_count": 3
},
"aggs": {
"max_date": {
"max": {
"field": "Date"
}
}
}
}
}

关于search - Elasticsearch 查询最大值聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45182167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com