2016-10-10 20 views
1

と日付範囲のフィルターを組み合わせる:Elasticsearch 2.4 - 私は、クエリ持つ日付ヒストグラム

{ 
    "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までです。

追加するには?

はあなたが上で指定した日付に結果セットを制限したい場合は、あなたがあなたの集計にクエリを結合する必要があり

+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" 
      } 
     } 
     } 
    } 
    } 
} 
+0

フィルターを適用する方法、たとえば、 "user_id"の結果のみが必要です。 mysqlには "どこにuser_id = 1"がありますか? –

関連する問題