Elasticsearch中按日期记录分组的平均值

Average of group by date records in Elasticsearch

我需要按日期分组的平均记录数,我在 rails 上将 Elasticsearch 和 searchkick 与 Ruby 一起使用。

按日期分组获取记录以下代码有效:

group_by_date: {
     date_histogram: {
     field: :created_at,
     interval: 'day'
   }
},

我得到此代码的以下输出

"group_by_date"=>
  {"buckets"=>
    [{"key_as_string"=>"2020-01-07T00:00:00.000Z",
      "key"=>1578355200000,
      "doc_count"=>14},
      {"key_as_string"=>"2020-01-08T00:00:00.000Z",
      "key"=>1578441600000,
      "doc_count"=>3}
      ]
    }

我想要这些记录的平均值,在这种情况下有两个日期所以平均值应该是 (14 + 3)/2 = 8.5

谢谢

我通过关注得到了平均值

        average_properties_by_date:{
          avg_bucket: {
            buckets_path: 'group_by_date>_count',
            gap_policy: "skip",
            format: "#,##0.00;(#,##0.00)"
          }
        }

注意这里会使用_count而不是doc_count。