整合应用
- // 求不同价格的数量
- @Test
- public void testAggsPrice() throws IOException {
- SearchRequest searchRequest = new SearchRequest("fruit");
- SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
- sourceBuilder.aggregation(AggregationBuilders.terms("group_price").field("price"));
- searchRequest.source(sourceBuilder);
- SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
- Aggregations aggregations = searchResponse.getAggregations();
- ParsedDoubleTerms terms = aggregations.get("group_price");
- List extends Terms.Bucket> buckets = terms.getBuckets();
- for (Terms.Bucket bucket : buckets) {
- System.out.println(bucket.getKey() + ", "+ bucket.getDocCount());
- }
- }
- // 求不同名称的数量
- @Test
- public void testAggsTitle() throws IOException {
- SearchRequest searchRequest = new SearchRequest("fruit");
- SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
- sourceBuilder.aggregation(AggregationBuilders.terms("group_title").field("title"));
- searchRequest.source(sourceBuilder);
- SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
- Aggregations aggregations = searchResponse.getAggregations();
- ParsedStringTerms terms = aggregations.get("group_title");
- List extends Terms.Bucket> buckets = terms.getBuckets();
- for (Terms.Bucket bucket : buckets) {
- System.out.println(bucket.getKey() + ", "+ bucket.getDocCount());
- }
- }
- // 求和
- @Test
- public void testAggsSum() throws IOException {
- SearchRequest searchRequest = new SearchRequest("fruit");
- SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
- sourceBuilder.aggregation(AggregationBuilders.sum("sum_price").field("price"));
- searchRequest.source(sourceBuilder);
- SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
- ParsedSum parsedSum = searchResponse.getAggregations().get("sum_price");
- System.out.println(parsedSum.getValue());
- }