小编Pet*_*bel的帖子

ElasticSearch中的并发事件聚合

我有许多文档,分别代表starts_at和的事件ends_at。在指定的时间点,如果所讨论的事件在starts_at之前和之后,则该事件被视为活动事件ends_at

我正在寻找一个聚合,这应该导致一个日期直方图,其中每个存储桶都包含该间隔中的活动事件数。

到目前为止,我发现的最好的近似值是创建一组计算每个间隔中起始数目的存储桶,以及一组对应的计数终止数目的存储桶,然后通过从中减去起始数目来对其进行后处理每个间隔的结束数:

{
  "size": "0",
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "and": [
          {
            "term": {
              "_type": "event"
            }
          },
          {
            "range": {
              "starts_at": {
                "gte": "2015-06-14T05:25:03Z",
                "lte": "2015-06-21T05:25:03Z"
              }
            }
          }
        ]
      }
    }
  },
  "aggs": {
    "starts": {
      "date_histogram": {
        "field": "starts_at",
        "interval": "15m",
        "extended_bounds": {
          "max": "2015-06-21T05:25:04Z",
          "min": "2015-06-14T05:25:04Z"
        },
        "min_doc_count": 0
      }
    },
    "ends": {
      "date_histogram": {
        "field": "ends_at",
        "interval": "15m",
        "extended_bounds": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

5
推荐指数
1
解决办法
431
查看次数

标签 统计

elasticsearch ×1