次のクエリを実行しようとしています。私は文書に3つの属性を持っています STATUS - "FAIL"、 "PASS"、 "INVALID"になる可能性があります DATE - 日付と時刻が含まれています。Elasticsearch集計付き日付範囲クエリ
私は例えば
各ステータスのカウントの日々の数をしたい:日付:2016年11月9日、STATUS:FAIL、カウント:120
日:2016年11月9日、STATUS:PASSを、カウント:150
私は最後の1ヶ月間のデータ、2月をしたいので、
SearchRequest requestQuery =
Requests.searchRequest(ConstantsValue.indexName)
.types(ConstantsValue._Type)
.source("{size:999999,"
+ "\"_source\" : "
+ "[\"DTCREATED\", \"STATUS\"]"
+ ",\"aggs\": "
+ "{\"group_by_STATUS\": {\"terms\": {\"field\": \"STATUS\"},"
+ "\"aggs\" : "
+ "{\"group_by_DATE\" : {\"date_histogram\" : "
+ "{\"field\" : \"DTCREATED\", \"interval\" : \"day\","
+ "\"format\" : \"yyyy-MM-dd\" },"
+ "\"aggs\" : "
+ "{\"grades_count\" : { \"value_count\" : { \"field\" : \"STATUS\" } }}}}}}}");
にこのコードは私の各ステータスbの毎日のカウントを与えますutをすべてのレコードに適用します。以下のような範囲フィルタを追加したいと考えています。
+"\"query\": {"
+" \"filtered\": {"
+" \"filter\": {"
+ "\"range\": { \"DTCREATED\": { \"gte\": \"now-90d/d\" }}"
+"}}}}}");
ただし、これらの2つのクエリの内容をマージすることはできません。私はベストを尽くしました。どんな助けでも大歓迎です。
必要なのは、日付範囲あなたのES検索クエリの中で? – Kulasangar