唐僧洗头爱飘柔9527 2023-06-24 10:19 采纳率: 0%
浏览 19

新版本Springdata ES 5.1 怎么获取聚合结果??

img

有没有行内懂这个新版的API怎么用的?
Springdata Elasticsearch 5.1.0

我这里想要获取查询中的聚合结果(聚合结果肯定是有的),但是我不知道要怎么获得,拿什么类来接收。
翻网上帖子都是以前用 .get 的的方式获取,返回的是respone。

这里新版直接返回 SearchHits 这个类。听说新版本对 返回结果 做了些调整。
有没有人知道!

总之就是我想要获得查询结果中的聚合结果

  • 写回答

1条回答 默认 最新

  • 火花怪怪 2023-06-24 11:06
    关注
    
    根据您提供的信息,我假设您正在使用 Spring Data Elasticsearch 5.1.0 和 Elasticsearch 5.x 版本。在这个版本中,SearchResponse 对象的 API 已经进行了一些更改,因此您可以通过以下方式获取聚合结果:
    
    java
    Copy
    SearchHits hits = searchResponse.getHits();
    Aggregations aggregations = hits.getAggregations();
    在这里,SearchHits 对象代表查询结果中的所有命中文档,而 Aggregations 对象代表查询结果中的所有聚合结果。您可以使用 Aggregations 对象的方法来获取具体的聚合结果。例如,如果您的查询包含一个名为"sum_agg"的汇总聚合,则可以使用以下方式获取聚合结果:
    
    java
    Copy
    Aggregations aggregations = searchResponse.getHits().getAggregations();
    Sum sumAgg = aggregations.get("sum_agg");
    double sumValue = sumAgg.getValue();
    在这里,Sum 对象表示名为 "sum_agg" 的聚合结果,而 getValue() 方法返回聚合结果的实际值。
    
    请注意,如果您的查询中没有包含任何聚合,则 getAggregations() 方法将返回 null。因此,在使用聚合结果之前,最好先检查 Aggregations 对象是否为 null。
    

    回答整理自chatgpt,如果能解决问题,麻烦采纳一下,谢谢啦!

    评论

报告相同问题?

问题事件

  • 创建了问题 6月24日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表