• 날짜 / 시간 표현식을 사용하여 간격을 지정할 수 있다. 
  • 사용예 (elasticsearch 공식 api 문서 참조)
POST /sales/_search?size=0
{
    "aggs" : {
        "sales_over_time" : {
            "date_histogram" : {
                "field" : "date",
                "interval" : "month"
            }
        }
    }
}

 

  • Aggregation 에서 사용
GET mytable*/_search
{
  "size": 0,
  "aggs": {
    "결과(result)": {
      "date_histogram": {
        "field": "birth",
        "interval": "month",
        "format": "yyyy-MM"
      },
      "aggs": {
        "사용비용": {
          "sum": {
            "field": "usage_cost"
          }
        }
      }
    }
  }
}

 

  • Composite & SubAggregation 에서 사용
GET mytable*/_search
{
  "size": 0,
  "aggs": {
    "결과(result)": {
      "composite": {
        "sources": [
          {
            "날짜": {
              "date_histogram": {
                "field": "birth",
                "interval": "month",
                 "format": "yyyy-MM"
              }
            }
          }
        ]
      }, 
      "aggs": {
        "사용비용": {
          "sum": {
            "field": "usage_cost"
          }
        }
      }
    }
  }
}

 

 

(참고 : https://www.elastic.co/guide/en/elasticsearch/reference/6.5)

+ Recent posts