2016-04-28 5 views
0

私はElasticSearch 2.3.1で作業しています。私は過去90日間のデータを取得する必要があります。この中で私は分別的な集計だけでなくデータも必要です。私が直面している問題は、最近の90日間のデータを取得できることです。ですが、集計に日付範囲を適用できません。Elasticsearch 2.3.1フィルタリングと集約のためのJava API

は、だから私持っている二つの問題

問題1 - これは、マッチクエリフィールドの結果セットで動作するはずですが異なっています。

問題2 - Java APIを次のように上記のクエリのために私が使用しています

クエリは次のとおりです。要するに

GET _search 
{ 
    "aggs": { 
    "t1": { 
     "filter": { 
     "range": { 
      "timestamp": { 
      "from" : "now-1d/d", 
     "to" : null, 
     "format" : "epoch_millis", 
     "include_lower" : true, 
     "include_upper" : true 
      } 
     } 
     }, 
     "aggs": { 
     "t2": { 
      "date_histogram": { 
      "field": "timestamp", 
      "interval": "1m" 
      } 
     } 
     } 
    } 
    } 
} 

私は、次のタイプ

Java API for full: 
match query { 
    aggregation { 
    filter aggregation, 
    date histogram 
    } 
} 
のJava APIを必要とします

答えて

1

問題1の次のクエリが機能します。

GET _search { 
"query": { 
    "match": { 
    "body": "Text_To_Search" 
    } 
}, 
"aggs": { 
    "outer_agg": { 
    "filter": { 
    "bool": { 
    "must": [{ 
     "range": { 
     "timestamp": { 
     "from": "now-90d/d", 
     "to": null, 
     "format": "epoch_millis", 
     "include_lower": true, 
     "include_upper": true 
     } 
     } 
    }] 
    } 
    }, 
    "aggs": { 
    "inner_agg": { 
    "date_histogram": { 
     "field": "timestamp", 
     "interval": "1m" 
    } 
    } 
    } 
    } 
} 
} 

同じのためのJava APIは、次のとおりです。

DateHistogramBuilder dhb = AggregationBuilders.dateHistogram("t2").field("timestamp").interval(DateHistogramInterval.MINUTE); 

BoolQueryBuilder bqb = QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery("timestamp").gte("now-90d").to("now").format("epoch_millis")); 

FilterAggregationBuilder fab = AggregationBuilders.filter("t1").filter(bqb).subAggregation(dhb); 

SearchResponse sr = TEFESConnector.getInstance().getClient().prepareSearch("index_name").setTypes("type_name").setQuery(QueryBuilders.matchQuery("field_to_search", "text_to_search")).addAggregation(fab).execute().actionGet(); 
関連する問題