• ElasticSearch RestHighLevClient 之聚合操作


    整合应用

    1. // 求不同价格的数量
    2. @Test
    3. public void testAggsPrice() throws IOException {
    4. SearchRequest searchRequest = new SearchRequest("fruit");
    5. SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    6. sourceBuilder.aggregation(AggregationBuilders.terms("group_price").field("price"));
    7. searchRequest.source(sourceBuilder);
    8. SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
    9. Aggregations aggregations = searchResponse.getAggregations();
    10. ParsedDoubleTerms terms = aggregations.get("group_price");
    11. Listextends Terms.Bucket> buckets = terms.getBuckets();
    12. for (Terms.Bucket bucket : buckets) {
    13. System.out.println(bucket.getKey() + ", "+ bucket.getDocCount());
    14. }
    15. }
    1. // 求不同名称的数量
    2. @Test
    3. public void testAggsTitle() throws IOException {
    4. SearchRequest searchRequest = new SearchRequest("fruit");
    5. SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    6. sourceBuilder.aggregation(AggregationBuilders.terms("group_title").field("title"));
    7. searchRequest.source(sourceBuilder);
    8. SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
    9. Aggregations aggregations = searchResponse.getAggregations();
    10. ParsedStringTerms terms = aggregations.get("group_title");
    11. Listextends Terms.Bucket> buckets = terms.getBuckets();
    12. for (Terms.Bucket bucket : buckets) {
    13. System.out.println(bucket.getKey() + ", "+ bucket.getDocCount());
    14. }
    15. }
    1. // 求和
    2. @Test
    3. public void testAggsSum() throws IOException {
    4. SearchRequest searchRequest = new SearchRequest("fruit");
    5. SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    6. sourceBuilder.aggregation(AggregationBuilders.sum("sum_price").field("price"));
    7. searchRequest.source(sourceBuilder);
    8. SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
    9. ParsedSum parsedSum = searchResponse.getAggregations().get("sum_price");
    10. System.out.println(parsedSum.getValue());
    11. }

  • 相关阅读:
    English语法_介词 - for
    Java集合
    springboot+大学生就业规划系统 毕业设计-附源码191451
    pythonUI自动化测试selenium安装使用
    想开发DAYU200,我教你
    Github Copilot 开始收费了, 帮你列出些替代的插件
    【机器学习】Kmeans聚类算法
    Ubuntu - 安装向日葵与设置其开机自启
    bootstrap.xml 和applicaiton.properties和applicaiton.yml的区别和联系
    puzzle(103.1)网格图一笔画
  • 原文地址:https://blog.csdn.net/Leon_Jinhai_Sun/article/details/126799577