網(wǎng)站首頁 編程語言 正文
?
public void bucketGroup() {
SearchRequest request = new SearchRequest();
/**
* 查詢條件
*/
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
request.indices("smsp_collect_info_new");
// 查詢某城市
searchSourceBuilder.query(QueryBuilders.matchQuery("city", integer));
// 構(gòu)建聚合查詢,并統(tǒng)計數(shù)量
// AggregationBuilders.terms("your_agg_name").field("master_port"),表示對master_port字
// 段進行聚合,相當于sql group by master_port,其中your_agg_name是我們對聚合字段起的別名
// ,到時候我們就可以通過這個別名獲取到聚合的數(shù)量
// AggregationBuilders.count("count_number").field("id"))表示對id字段進行count,就是計數(shù),
// 其中count_number是我們?yōu)橛嫈?shù)字段起的別名,同上方一個道理, 此轉(zhuǎn)換為sql應(yīng)該是select count(id)
// from xx where city=xx group by master_port;
searchSourceBuilder.aggregation(AggregationBuilders
.terms("your_agg_name")
.field("master_port")
.subAggregation(AggregationBuilders.count("count_number")
.field("id")).size(10000));
//放入文檔中
request.source(searchSourceBuilder);
//遠程查詢
SearchResponse response = client.search(request, RequestOptions.DEFAULT);
//元素數(shù)量
SearchHits hits1 = response.getHits();
// 獲取聚合結(jié)果給
Terms termsAggregation = response.getAggregations().get("your_agg_name");
// 桶聚合
for (Terms.Bucket bucket : termsAggregation.getBuckets()) {
// 獲取聚合的key的值,也就是master_port的每一項的值
String key = bucket.getKeyAsString();
// 獲取當前的master_count的聚合的數(shù)量
ValueCount countAggregation = bucket.getAggregations().get("count_number");
long countValue = countAggregation.getValue();
}
}
原文鏈接:https://blog.csdn.net/qq_53679247/article/details/131471297
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-07-13 SpringCloud之Eureka注冊中心
- 2023-01-15 C++實現(xiàn)自定義撤銷重做功能的示例代碼_C 語言
- 2022-11-14 Python中__init__.py文件的作用_python
- 2022-04-03 C++中的運算符重載詳解_C 語言
- 2022-04-05 C語言用遞歸函數(shù)實現(xiàn)漢諾塔_C 語言
- 2023-06-21 Android應(yīng)用啟動白屏處理方案詳解_Android
- 2022-10-05 linux查看服務(wù)器開放的端口和啟用的端口多種方式_Linux
- 2022-09-12 C++數(shù)據(jù)結(jié)構(gòu)哈希表詳解_C 語言
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支