国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ElasticSearch java API - 聚合查詢

這篇具有很好參考價(jià)值的文章主要介紹了ElasticSearch java API - 聚合查詢。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

  1. },

  2. “l(fā)ow”: {

  3. “type”: “l(fā)ong”

  4. },

  5. “date”: {

  6. “format”: “strict_date_optional_time||epoch_millis”,

  7. “type”: “date”

  8. },

  9. “close”: {

  10. “type”: “l(fā)ong”

  11. }

  12. },

  13. “_all”: {

  14. “enabled”: false

  15. }

  16. }

  17. }

索引中的全部數(shù)據(jù):

name age salary team position
james 33 3000 cav sf
irving 25 2000 cav pg
curry 29 1000 war pg
thompson 26 2000 war sg
green 26 2000 war pf
garnett 40 1000 tim pf
towns 21 500 tim c
lavin 21 300 tim sg
wigins 20 500 tim sf

首先,初始化Builder:

SearchRequestBuilder sbuilder = client.prepareSearch(“player”).setTypes(“player”);

接下來(lái)舉例說(shuō)明各種聚合操作的實(shí)現(xiàn)方法,因?yàn)樵趀s的api中,多字段上的聚合操作需要用到子聚合(subAggregation),初學(xué)者可能找不到方法(網(wǎng)上資料比較少,筆者在這個(gè)問題上折騰了兩天,最后度了源碼才徹底搞清楚T_T),后邊會(huì)特意說(shuō)明多字段聚合的實(shí)現(xiàn)方法。另外,聚合后的排序也會(huì)單獨(dú)說(shuō)明。

1. group by/count


例如要計(jì)算每個(gè)球隊(duì)的球員數(shù),如果使用SQL語(yǔ)句,應(yīng)表達(dá)如下:

select team, count(*) as player_count from player group by team;

ES的java api:

  1. TermsBuilder teamAgg= AggregationBuilders.terms( "player_count ").field( “team”);

  2. sbuilder.addAggregation(teamAgg);

  3. SearchResponse response = sbuilder.execute().actionGet();

2.group by多個(gè)field


例如要計(jì)算每個(gè)球隊(duì)每個(gè)位置的球員數(shù),如果使用SQL語(yǔ)句,應(yīng)表達(dá)如下:

select team, position, count(*) as pos_count from player group by team, position;

ES的java api:

  1. TermsBuilder teamAgg= AggregationBuilders.terms( "player_count ").field( “team”);

  2. TermsBuilder posAgg= AggregationBuilders.terms( “pos_count”).field( “position”);

  3. sbuilder.addAggregation(teamAgg.subAggregation(posAgg));

  4. SearchResponse response = sbuilder.execute().actionGet();

3.max/min/sum/avg


例如要計(jì)算每個(gè)球隊(duì)年齡最大/最小/總/平均的球員年齡,如果使用SQL語(yǔ)句,應(yīng)表達(dá)如下:

select team, max(age) as max_age from player group by team;

ES的java api:

  1. TermsBuilder teamAgg= AggregationBuilders.terms( "player_count ").field( “team”);

  2. MaxBuilder ageAgg= AggregationBuilders.max( “max_age”).field( “age”);

  3. sbuilder.addAggregation(teamAgg.subAggregation(ageAgg));

  4. SearchResponse response = sbuilder.execute().actionGet();

4.對(duì)多個(gè)field求max/min/sum/avg


例如要計(jì)算每個(gè)球隊(duì)球員的平均年齡,同時(shí)又要計(jì)算總年薪,如果使用SQL語(yǔ)句,應(yīng)表達(dá)如下:

select team, avg(age)as avg_age, sum(salary) as total_salary from player group by team;

ES的java api:

  1. TermsBuilder teamAgg= AggregationBuilders.terms( “team”);

  2. AvgBuilder ageAgg= AggregationBuilders.avg( “avg_age”).field( “age”);

  3. SumBuilder salaryAgg= AggregationBuilders.avg( "total_salary ").field( “salary”);

  4. sbuilder.addAggregation(teamAgg.subAggregation(ageAgg).subAggregation(salaryAgg));

  5. SearchResponse response = sbuilder.execute().actionGet();

5.聚合后對(duì)Aggregation結(jié)果排序


例如要計(jì)算每個(gè)球隊(duì)總年薪,并按照總年薪倒序排列,如果使用SQL語(yǔ)句,應(yīng)表達(dá)如下:

select team, sum(salary) as total_salary from player group by team order by total_salary desc;
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)Java工程師,想要提升技能,往往是自己摸索成長(zhǎng)或者是報(bào)班學(xué)習(xí),但對(duì)于培訓(xùn)機(jī)構(gòu)動(dòng)則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長(zhǎng),而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Java開發(fā)全套學(xué)習(xí)資料》,初衷也很簡(jiǎn)單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Java開發(fā)知識(shí)點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄截圖出來(lái),每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且會(huì)持續(xù)更新!

如果你覺得這些內(nèi)容對(duì)你有幫助,可以掃碼獲?。。。▊渥ava獲?。?/strong>

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

最后

面試題文檔來(lái)啦,內(nèi)容很多,485頁(yè)!

由于筆記的內(nèi)容太多,沒辦法全部展示出來(lái),下面只截取部分內(nèi)容展示。

1111道Java工程師必問面試題

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

MyBatis 27題 + ZooKeeper 25題 + Dubbo 30題:

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

Elasticsearch 24 題 +Memcached +?Redis 40題:

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

Spring 26 題+ 微服務(wù) 27題+ Linux 45題:

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

Java面試題合集:

ElasticSearch java API - 聚合查詢,程序員,elasticsearch,java,python

《一線大廠Java面試題解析+核心總結(jié)學(xué)習(xí)筆記+最新講解視頻+實(shí)戰(zhàn)項(xiàng)目源碼》,點(diǎn)擊傳送門即可獲取!
Redis 40題:**

[外鏈圖片轉(zhuǎn)存中…(img-a5lFb7i8-1711972912774)]

Spring 26 題+ 微服務(wù) 27題+ Linux 45題:

[外鏈圖片轉(zhuǎn)存中…(img-3ykm3NWQ-1711972912774)]

Java面試題合集:

[外鏈圖片轉(zhuǎn)存中…(img-Yd5z7eKp-1711972912774)]

《一線大廠Java面試題解析+核心總結(jié)學(xué)習(xí)筆記+最新講解視頻+實(shí)戰(zhàn)項(xiàng)目源碼》,點(diǎn)擊傳送門即可獲取!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846908.html

到了這里,關(guān)于ElasticSearch java API - 聚合查詢的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 程序員不得不知道的 API 接口常識(shí)

    程序員不得不知道的 API 接口常識(shí)

    1、初識(shí) API 接口 記得在我初學(xué) web 開發(fā)的時(shí)候,后端框架相關(guān)的教程基本都會(huì)教學(xué)生寫渲染模版(不分語(yǔ)言),也就是說(shuō)后端返回的是整個(gè)網(wǎng)頁(yè)的數(shù)據(jù),瀏覽器只負(fù)責(zé)渲染。 一般這類模版在后端都會(huì)對(duì)應(yīng)一個(gè)路由,比如前端想登入一個(gè)看用戶信息的頁(yè)面,在 url 中輸入的訪問

    2024年02月01日
    瀏覽(24)
  • 程序員如何利用公網(wǎng)遠(yuǎn)程訪問查詢本地硬盤【內(nèi)網(wǎng)穿透】

    程序員如何利用公網(wǎng)遠(yuǎn)程訪問查詢本地硬盤【內(nèi)網(wǎng)穿透】

    ?? 鴿芷咕 :個(gè)人主頁(yè) ??? 個(gè)人專欄 : 《高效編程技巧》《cpolar》 ??生活的理想,就是為了理想的生活! 隨著云概念的流行,不少企業(yè)采用云存儲(chǔ)技術(shù)來(lái)保存辦公文件,同時(shí),很多個(gè)人用戶也感受到云存儲(chǔ)帶來(lái)的便利,讓云存儲(chǔ)概念一時(shí)間風(fēng)頭無(wú)兩。由于資料數(shù)據(jù)的敏感

    2024年02月12日
    瀏覽(20)
  • 黑馬程序員--分布式搜索ElasticSearch學(xué)習(xí)筆記

    黑馬程序員--分布式搜索ElasticSearch學(xué)習(xí)筆記

    黑馬視頻地址:https://www.bilibili.com/video/BV1LQ4y127n4/ 想獲得最佳的閱讀體驗(yàn),請(qǐng)移步至我的個(gè)人博客 SpringCloud學(xué)習(xí)筆記 消息隊(duì)列MQ學(xué)習(xí)筆記 Docker學(xué)習(xí)筆記 分布式搜索ElasticSearch學(xué)習(xí)筆記 ElasticSearch的作用 ElasticSearch 是一款非常強(qiáng)大的開源搜素引擎,具備非常強(qiáng)大的功能,可以幫

    2024年02月04日
    瀏覽(21)
  • 10、全文檢索 -- Elasticsearch -- 介紹、下載,42歲程序員面試

    10、全文檢索 -- Elasticsearch -- 介紹、下載,42歲程序員面試

    目錄 全文檢索 – Elasticsearch – 介紹、下載、安裝、配置、開啟安全機(jī)制、設(shè)置用戶密碼、為 Elasticsearch 啟用 SSL 和 HTTPS 支持 Elasticsearch 介紹 官網(wǎng)下載 Elasticsearch 安裝 Elasticsearch 1、bin 目錄介紹 2、配置環(huán)境變量 3、修改配置文件 4、啟動(dòng) Elasticsearch 5、查看 Elasticsearch 啟動(dòng)結(jié)果

    2024年04月26日
    瀏覽(54)
  • GPT引領(lǐng)學(xué)習(xí)之旅:適應(yīng)不同級(jí)別程序員的Elasticsearch學(xué)習(xí)案例

    在本文中,我們將為初級(jí)、中級(jí)和高級(jí)程序員分別提供一個(gè)Elasticsearch學(xué)習(xí)案例,展示如何利用GPT進(jìn)行針對(duì)性學(xué)習(xí)。 假設(shè)您是一名初級(jí)程序員,想要在自己的個(gè)人博客中集成Elasticsearch搜索引擎,以下是學(xué)習(xí)和實(shí)踐的過程: 學(xué)習(xí)目標(biāo):了解Elasticsearch基本概念、安裝配置、數(shù)據(jù)

    2023年04月24日
    瀏覽(20)
  • GPT引領(lǐng)學(xué)習(xí)之旅:彌補(bǔ)信息差,助力程序員高效掌握Elasticsearch

    Elasticsearch作為一款流行的開源搜索和分析引擎,持續(xù)迅速發(fā)展,隨著版本的更新,功能和特性也在不斷變化。GPT雖然具備大量的計(jì)算機(jī)科學(xué)、編程語(yǔ)言和工具相關(guān)的知識(shí),但其知識(shí)截止于2021年。為了彌補(bǔ)GPT與實(shí)際情況之間的信息差,我們可以采取以下策略,將GPT與實(shí)際情況

    2024年02月02日
    瀏覽(32)
  • 黑豹程序員-架構(gòu)師學(xué)習(xí)路線圖-百科:API接口測(cè)試工具Postman

    黑豹程序員-架構(gòu)師學(xué)習(xí)路線圖-百科:API接口測(cè)試工具Postman

    目前我們開發(fā)項(xiàng)目大都是前后端分離項(xiàng)目,前端采用h5+css+js+vue基于nodejs,后端采用java、SpringBoot、SSM,大型項(xiàng)目采用SpringCloud微服務(wù)。 后端為和前端對(duì)接,形成很多API接口,也就是URL鏈接和其參數(shù)。 這時(shí)后端寫完后我們前端還有大量代碼需要寫,所以寫前端之前最好保證后端

    2024年01月19日
    瀏覽(33)
  • GPT引領(lǐng)學(xué)習(xí)之旅:一篇讓程序員輕松掌握Elasticsearch的攻略

    隨著大數(shù)據(jù)技術(shù)的飛速發(fā)展,程序員們面臨著越來(lái)越多的挑戰(zhàn)。Elasticsearch作為一款流行的開源搜索和分析引擎,已成為許多項(xiàng)目的重要組成部分。那么如何高效地學(xué)習(xí)并掌握Elasticsearch呢?在這篇文章中,我們將探討如何運(yùn)用GPT(Generative Pre-trained Transformer)技術(shù),幫助程序員

    2024年02月02日
    瀏覽(19)
  • Java Elasticsearch多條件分組聚合查詢

    需求 ????????在項(xiàng)目開發(fā)中,需要從elasticsearch中查詢?nèi)罩緮?shù)據(jù),先統(tǒng)計(jì)每一天的日志調(diào)用量,然后在每一天的分組聚合基礎(chǔ)上,再分組聚合統(tǒng)計(jì)成功和失敗的日志調(diào)用量。 代碼

    2024年02月08日
    瀏覽(27)
  • Elasticsearch的高階使用方法有哪些?,后端程序員必備的Linux基礎(chǔ)知識(shí)+常見命令

    Elasticsearch的高階使用方法有哪些?,后端程序員必備的Linux基礎(chǔ)知識(shí)+常見命令

    ③should 通用的道理:多個(gè)查詢條件通過should連接,相當(dāng)于以前常用的or,說(shuō)白了也就是邏輯運(yùn)算符“與”。 ps :關(guān)于其格式使用,不要看它圖中好像挺復(fù)雜的樣子,其實(shí)都可以通過工具有提示,并且這些寫多了基本也就知道了。 2范圍查詢 商品都有自己的價(jià)格,用戶可以通過

    2024年04月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包