Elasticsearch 2.4 - 将日期范围过滤器与日期直方图相结合

时间:2016-10-10 12:43:49

标签: elasticsearch

我有疑问:

{
  "size": 0,
 "aggs": {
   "data_bulanan" : {
    "date_histogram" : {
        "field" : "creation_date",
        "interval" : "month",
        "format": "MMMM"
        },
        "aggs": {
          "SvcCharge" : {
              "sum": {
              "field": "service_tax"
              }
          },
          "GvtTax" : {
              "sum": {
              "field": "government_tax"
              }
          },
          "Discount" : {
             "sum" : {
             "field": "discount"
              }
          }

        }
    }
  }
}

我想添加日期到日期的日期范围。例如,从2014-01-01到2015-01-01。

如何添加?

谢谢

1 个答案:

答案 0 :(得分:2)

如果您想将结果集限制在上面的指定日期,则需要将查询与聚合相结合,您可以这样做

{
  "size": 0,
  "query": {
      "bool": {
          "filter": {
              "range": {
                  "creation_date": {
                      "gte": "2014-01-01",
                      "lte": "2015-01-01"
                  }
              }
          }
      }
  },
  "aggs": {
    "data_bulanan": {
      "date_histogram": {
        "field": "creation_date",
        "interval": "month",
        "format": "MMMM"
      },
      "aggs": {
        "SvcCharge": {
          "sum": {
            "field": "service_tax"
          }
        },
        "GvtTax": {
          "sum": {
            "field": "government_tax"
          }
        },
        "Discount": {
          "sum": {
            "field": "discount"
          }
        }
      }
    }
  }
}