Idea Debug about elasticsearch

最近在做ES的aggregation,顺便说一下收获。

一:版本问题

dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>3.1.4.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>${elasticserch.version}</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>transport</artifactId>
    <version>${elasticserch.version}</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.plugin</groupId>
    <artifactId>transport-netty4-client</artifactId>
    <version>6.8.0</version>
</dependency>

这是配置的版本,.version设置为6.8 应用的es版本也是6.8

2.对于aggregation的数据解决

当应用SearchBuilder进行查询后,应用管道流查询出的数据特别繁琐

在应用debug调试的时候关注了一下

SearchResponse srps = sr.setSource(sourceBuilder).get();
//处理结果
Map<String,Aggregation> aggMap =srps.getAggregations().asMap();
InternalDateHistogram userCountDay = (InternalDateHistogram)aggMap.get("userDayCount");
List<InternalDateHistogram.Bucket> list = userCountDay.getBuckets();
for (InternalDateHistogram.Bucket in:list){
    Aggregations aggregations = in.getAggregations();
    List<Aggregation> aggregations1= aggregations.asList();
    for(Aggregation a:aggregations1){
        Double value = ((InternalSimpleValue) (a)).getValue();
        Long putIn = new Double(value).longValue();
        countList.add(new EsUserCount(putIn,in.getKeyAsString()));
    }
}

最后将管道中的数据去出,着实费了一大波的劲儿

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章