Idea Debug about elasticsearch

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 00:26   570   0

最近在做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()));
    }
}

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP