zoukankan      html  css  js  c++  java
  • Es 聚合查询的写法

    @Test
        public void testQuerySearch() {
            SearchRequest request = new SearchRequest();
            request.indices("es_user");
            SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    
            sourceBuilder.query(QueryBuilders.matchQuery("address","shenyang"));
            TermsAggregationBuilder ageAgg = AggregationBuilders.terms("ageAgg").field("age").size(10);
            sourceBuilder.aggregation(ageAgg);
    
            AvgAggregationBuilder balanceAvg = AggregationBuilders.avg("balanceAvg").field("salary");
            sourceBuilder.aggregation(balanceAvg);
            request.source(sourceBuilder);
            System.out.println(sourceBuilder.toString());
            try {
                SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
                SearchHit[] searchHtis = response.getHits().getHits();
                for (SearchHit searchHit : searchHtis) {
                    Map<String, Object> sourceResult = searchHit.getSourceAsMap();
                    System.out.println(sourceResult.get("user_name"));
                }
    
                Aggregations aggregations = response.getAggregations();
                Terms ageAgg1 = aggregations.get("ageAgg");
                for (Terms.Bucket bucket : ageAgg1.getBuckets()) {
                    String keyAsString = bucket.getKeyAsString();
                    System.out.println("用户年龄: " + keyAsString + " 人数:" + bucket.getDocCount());
                }
    
                Avg balanceAvg1 = aggregations.get("balanceAvg");
                System.out.println("平均薪资:" + balanceAvg1.getValue());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
  • 相关阅读:
    《 基于UML技术的体育场馆管理系统设计与研究 》随笔
    《暗时间》读后感
    HTML 全局属性
    html简介
    Django中使用多线程发送邮件
    ubuntulinux 更改时区设置时间
    git 提交运用vim编辑器
    git配置
    网页显示403. That’s an error的解决方法。
    js 给url添加时间戳 解决浏览器缓存
  • 原文地址:https://www.cnblogs.com/juniorMa/p/14734099.html
Copyright © 2011-2022 走看看