gpt4 book ai didi

Elasticsearch 平均日期直方图桶

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

我在 ElasticSearch 中索引了一堆文档,我需要获取以下数据:

对于每个月,获取该月每个工作日的平均文档数(或者如果不可能,则使用 20 天作为默认值)。

我已经使用 date histogram 聚合将我的数据聚合到月桶中。我试图嵌套一个 stats 存储桶,但此聚合使用从文档字段中提取的数据,而不是从父存储桶中提取的数据。

到目前为止,这是我的查询:

{
"query": {
"match_all": {}
},
"aggs": {
"docs_per_month": {
"date_histogram": {
"field": "created_date",
"interval": "month",
"min_doc_count": 0
}
"aggs": {
'???': '???'
}
}
}
}

编辑

为了让我的问题更清楚,我需要的是:

  • 获取当月创建的文档总数(这要归功于 date_histogram 聚合)
  • 获取当月的工作日数
  • 将第一个除以第二个。

最佳答案

对于仍然感兴趣的任何人,您现在可以使用 avg_bucket 聚合。它仍然有点棘手,因为您不能简单地在 date_historgram 聚合结果上运行 avg_bucket,而是使用具有一些唯一值的辅助 value_count 聚合它工作正常:)

{
"size": 0,
"aggs": {
"orders_per_day": {
"date_histogram": {
"field": "orderedDate",
"interval": "day"
},
"aggs": {
"amount": {
"value_count": {
"field": "dateCreated"
}
}
}
},
"avg_daily_order": {
"avg_bucket": {
"buckets_path": "orders_per_day>amount"
}
}
}
}

关于Elasticsearch 平均日期直方图桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30775390/

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