【问题标题】:How to group events by multiple terms?如何按多个术语对事件进行分组?
【发布时间】:2018-03-24 20:58:16
【问题描述】:

如何按年和月分组?如果我留下 1 个字词,例如 Month,我的查询就有效。但我不能按多个术语进行分组。

GET traffic-data/_search?
{
 "size":0,
"query": {
    "bool": {
      "must": [
        { "match": {
          "VehiclePlateNumber": "111"
        }}
      ]
    } },
    "aggs" : {
        "years" : {
            "terms" : {
                "field" : "Year"
            },
            "aggs" : {
                "months" : { "by_month" : { "field" : "Month" } }
            }
        }
    }
}

【问题讨论】:

    标签: elasticsearch lucene elasticsearch-5


    【解决方案1】:

    我认为您的问题的查询已经接近,试试这个:

    GET traffic-data/_search?
    {
      "size": 0,
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "VehiclePlateNumber": "111"
              }
            }
          ]
        }
      },
      "aggs": {
        "years": {
          "terms": {
            "field": "Year",
            "size": 100
          },
          "aggs": {
            "months": {
              "terms": {
                "size": 12, 
                "field": "Month"
              }
            }
          }
        }
      }
    }
    

    编辑 - 我假设您的月份是一个字符串关键字字段。如果不是这种情况,请告诉我(并请包括映射),我会修改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 1970-01-01
      • 2012-09-10
      相关资源
      最近更新 更多