次のクエリを実行しようとしています。ドキュメントの STATUS に 3 つの属性があります。これは、"FAIL"、"PASS"、"INVALID" DATE のいずれかで、日付と時刻が含まれています。
ステータスごとの1日のカウント数が欲しい
例: 日付: 11-09-2016、ステータス: 失敗、カウント: 120
日付: 11-09-2016、ステータス: 合格、カウント: 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\" } }}}}}}}");
このコードは、各ステータスの毎日のカウントを示しますが、すべてのレコードについてです。以下のような範囲フィルターを追加します。
+"\"query\": {"
+" \"filtered\": {"
+" \"filter\": {"
+ "\"range\": { \"DTCREATED\": { \"gte\": \"now-90d/d\" }}"
+"}}}}}");
しかし、これら 2 つのクエリのコンテンツをマージすることはできません。私は最善を尽くしました。どんな助けでも大歓迎です。