gpt4 book ai didi

elasticsearch - Elasticsearch 如何获取日期直方图Agg桶中所有百分位值的总平均值

转载 作者:行者123 更新时间:2023-12-02 22:27:52 24 4
gpt4 key购买 nike

我有一个查询的日期直方图agg包含间隔(例如1个月)的延迟值的95%aggs。

通过查询,我可以获得百分位的星期值。我想平均收集所有百分比数据。

查询:

{
"size": 0,
"query": {
"bool": {
"filter": {
"range": {
"timestamp": {
"gte": "2019-04-03 10:35:04 UTC",
"lte": "2019-05-01 10:35:04 UTC"
}
}
}
}
},
"aggs": {
"weeks_avg": {
"date_histogram": {
"field": "timestamp",
"interval": "7d",
"min_doc_count": 1
},
"aggs": {
"week": {
"percentiles": {
"field": "value",
"percents": [
95
],
"hdr": {
"number_of_significant_value_digits": 3
}
}
}
}
}
}
}

我得到的当前响应:
 "aggregations":{
"weeks_avg":{
"buckets":[
{
"key_as_string":"2019-03-28 00:00:00 UTC",
"key":1553731200000,
"doc_count":147,
"week":{
"values":{
"95.0":24.0078125
}
}
},
{
"key_as_string":"2019-04-04 00:00:00 UTC",
"key":1554336000000,
"doc_count":1815,
"week":{
"values":{
"95.0":23.0078125
}
}
},
{
"key_as_string":"2019-04-11 00:00:00 UTC",
"key":1554940800000,
"doc_count":1821,
"week":{
"values":{
"95.0":22.0078125
}
}
},
{
"key_as_string":"2019-04-18 00:00:00 UTC",
"key":1555545600000,
"doc_count":1815,
"week":{
"values":{
"95.0":22.0078125
}
}
},
{
"key_as_string":"2019-04-25 00:00:00 UTC",
"key":1556150400000,
"doc_count":1671,
"week":{
"values":{
"95.0":24.0078125
}
}
}
]
}
}
}

我是否需要创建另一个Agg来计算这5个存储桶的AVG值?换句话说,执行以下操作:

totalPercentileAvg =(week1.percentileValue + week2.percentileValue + week3.percentileValue + week4.percentileValue)/ 4;

我有点困惑,因为已经尝试了许多语法错误。

提前致谢。

最佳答案

如果要同时使用95和avg,则可以分别指定它们:

 ...
"aggs": {
"weeks_avg": {
"date_histogram": {
"field": "timestamp",
"interval": "7d",
"min_doc_count": 1
},
"aggs": {
"week": {
"percentiles": {
"field": "value",
"percents": [
95
],
"hdr": {
"number_of_significant_value_digits": 3
}
}
},
"week_avg" : {
"avg": {
"field": "value"
}
}
}
}
}

编辑:
要获得95%的平均值:
 ...
"aggs": {
"weeks_avg": {
"date_histogram": {
"field": "timestamp",
"interval": "7d",
"min_doc_count": 1
},
"aggs": {
"week": {
"percentiles": {
"field": "value",
"percents": [
95
],
"hdr": {
"number_of_significant_value_digits": 3
}
}
}
}
},
"avg_weekly_value": {
"avg_bucket": {
"buckets_path": "weeks_avg>week.95"
}
}

关于elasticsearch - Elasticsearch 如何获取日期直方图Agg桶中所有百分位值的总平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55937645/

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