Elasticsearch Java API 的使用(6)—时间聚合
2017-09-05 08:37
513 查看
java时间聚合
public class EsAggregation{ public void searchAggregation(TransportClient client){ AggregationBuilder aggregation = AggregationBuilders .dateRange("agg") .field("inputtime") .format("yyyy-MM-dd HH:mm:ss") // from 1950 to 1960 (excluded) .addRange("2016-7-21 00:00:01", "2016-7-21 00:00:02"); SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.aggregation(aggregation); System.out.println(sourceBuilder.toString()); SearchResponse response = client .prepareSearch("pointdata") .setTypes("pointdata") .setQuery(QueryBuilders.queryStringQuery ("W3.UNIT1.10LBG01CP301")) .setSource(sourceBuilder) .execute() .actionGet(); SearchHits hits = response.getHits(); for(int i = 0; i < hits.getHits().length; i++) { System.out.println(i+":"+hits.getHits()[i].getSourceAsString()); } // sr is here your SearchResponse object Range agg = response.getAggregations().get("agg"); // For each entry for (Range.Bucket entry : agg.getBuckets()) { // Date range as key String key = entry.getKeyAsString(); // Date bucket from as a Date 引用import org.joda.time.DateTime; DateTime fromAsDate = (DateTime) entry.getFrom(); // Date bucket to as a Date DateTime toAsDate = (DateTime) entry.getTo(); // Doc count long docCount = entry.getDocCount(); System.out.println("key [{"+key+"}], from [{"+fromAsDate+"}], "+ "to [{"+toAsDate+"}], d 4000 oc_count [{"+docCount+"}]"); } } }
相关文章推荐
- Elasticsearch Java API 的使用(5)—时间范围查询
- Elasticsearch Java API 的使用(13)—分组聚合之一
- elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg
- Elasticsearch Java API 的使用(3)—添加索引
- Elasticsearch 5.X下JAVA API使用指南
- Elasticsearch简单使用系列--使用Java API进行CRUD操作
- [Elasticsearch] 聚合 - 时间数据处理(Looking at Time)
- 004-spring-data-elasticsearch 3.0.0.0使用【二】-spring-data之定义方法、创建repository实例、从聚合根发布事件
- ElasticSearch Java API的使用
- 通过elasticsearch-sql使用SQL语句聚合查询Elasticsearch获取各种metrics度量值
- 分布式搜索elasticsearch java API 使用More like this实现
- ElasticSearch java API - 聚合查询
- elasticsearch5.2.2使用java API创建transport client
- [Elasticsearch] 聚合 - 时间数据处理(Looking at Time)
- elasticsearch聚合分组查询java API实现
- java api 获取 elasticsearch 服务器时间戳
- [Elasticsearch] 聚合 - 时间数据处理(Looking at Time) 3
- ElasticSearch 使用不同表结构存储时间序列数据的查询效率分析
- 实时搜索引擎Elasticsearch(4)——Aggregations (聚合)API的使用
- Elasticsearch 5.0下Java API使用指南