【问题标题】:Combining query with date histogram结合查询与日期直方图
【发布时间】:2019-05-16 14:00:44
【问题描述】:

我想计算上一小时的文档数量,并将它们汇总到 5 分钟的存储桶中。 这是我的查询:


    GET logs-tsi-2019.05/tsi-json-log/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": "now-1h",
                  "lt": "now"
                }
              }
            },
            {
              "term" : {
                "application" : "sso"
              }
            },
            {
              "query_string": {
                "default_field": "*",
                "query": "grant_type=refresh_token",
                "analyze_wildcard": true
              }
            }
          ]
        }
      }
    }

如何将此查询与 date_histogram 聚合相结合?

问候, 克里斯

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    好的开始!你可以这样做:

    GET logs-tsi-2019.05/tsi-json-log/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": "now-1h",
                  "lt": "now"
                }
              }
            },
            {
              "term" : {
                "application" : "sso"
              }
            },
            {
              "query_string": {
                "default_field": "*",
                "query": "grant_type=refresh_token",
                "analyze_wildcard": true
              }
            }
          ]
        }
      },
      "aggs": {
        "5min": {
          "date_histogram": {
            "field": "@timestamp",
            "interval": "5m"
          }
        }
      }
    }
    

    【讨论】:

    • 太棒了!谢谢你。你知道是否可以只返回聚合?我得到了 100 多个结果并且不关心细节 - 只是聚合对我来说很重要。
    • 好的 - 我明白了 - 一开始必须指定“大小”:0,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多