最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

袁庭新老師ES系列13節(jié)|Elasticsearch聚合aggregations

2023-09-21 17:59 作者:袁庭新  | 我要投稿

前言

上一章節(jié)我們帶領(lǐng)大家學(xué)習(xí)了Elasticsearch中的高級查詢,這一章節(jié)袁老師再帶領(lǐng)大家學(xué)習(xí)一種高級查詢:聚合。聚合可以用來干什么呢?聚合可以讓我們極其方便的實(shí)現(xiàn)對數(shù)據(jù)的統(tǒng)計和分析。例如:

  • 什么品牌的手機(jī)最受歡迎?

  • 這些手機(jī)的平均價格、最高價格、最低價格?

  • 這些手機(jī)每月的銷售情況如何?

實(shí)現(xiàn)這些統(tǒng)計功能的比數(shù)據(jù)庫的SQL要方便的多,而且查詢速度非常快,可以實(shí)現(xiàn)近實(shí)時搜索效果。

一. 基本概念

1.聚合基本概念介紹

Elasticsearch中的聚合,包含多種類型,最常用的兩種:一個叫桶,一個叫度量。

桶(bucket)類似于(group by)。桶的作用是,按照某種方式對數(shù)據(jù)進(jìn)行分組,每一組數(shù)據(jù)在Elasticsearch中稱為一個桶 ,例如我們根據(jù)國籍對人劃分,可以得到中國桶、英國桶、日本桶等;或者我們按照年齡段對人進(jìn)行劃分,0~10歲、10~20歲、20~30歲和30~40歲等。

Elasticsearch中提供的劃分桶的方式有很多:

度量(metrics)相當(dāng)于聚合的結(jié)果。分組完成以后,我們一般會對組中的數(shù)據(jù)進(jìn)行聚合運(yùn)算,例如求平均值、最大、最小、求和等,這些在Elasticsearch中稱為度量。

比較常用的一些度量聚合方式:

2.聚合操作數(shù)據(jù)準(zhǔn)備

為了測試聚合,我們先批量導(dǎo)入一些數(shù)據(jù)。

創(chuàng)建索引:

響應(yīng)結(jié)果:

注意:在Elasticsearch中,需要進(jìn)行聚合、排序、過濾的字段其處理方式比較特殊,因此不能被分詞,必須使用keyword或數(shù)值類型 。這里我們將color和make這兩個文字類型的字段設(shè)置為keyword類型,這個類型不會被分詞,將來就可以參與聚合。

導(dǎo)入數(shù)據(jù),這里是采用批處理的API,大家直接復(fù)制到Kibana運(yùn)行即可:

響應(yīng)結(jié)果:

二. 聚合為桶

1.聚合為桶語法介紹

首先,我們按照汽車的顏色color來劃分桶,按照顏色分桶最好是使用Term Aggregation類型,按照顏色的名稱來分桶。語法格式見下:

桶查詢的相關(guān)屬性介紹:

2.聚合為桶案例演示

根據(jù)汽車的顏色聚合為桶:

響應(yīng)結(jié)果:

演示過程見下:

桶查詢響應(yīng)結(jié)果的相關(guān)屬性介紹:

通過聚合的結(jié)果我們發(fā)現(xiàn),目前紅色的小車比較暢銷。

三. 桶內(nèi)度量

1.桶內(nèi)度量介紹

前面的例子告訴我們每個桶里面的文檔數(shù)量,這很有用。但通常,我們的應(yīng)用需要提供更復(fù)雜的文檔度量。例如,每種顏色汽車的平均價格是多少?

因此,我們需要告訴Elasticsearch使用哪個字段,使用何種度量方式進(jìn)行運(yùn)算,這些信息要嵌套在桶內(nèi),度量的運(yùn)算會基于桶內(nèi)的文檔進(jìn)行。

桶內(nèi)度量語法介紹:

2.桶內(nèi)度量案例

現(xiàn)在,我們?yōu)閯倓偟木酆辖Y(jié)果添加求價格平均值的度量。

桶內(nèi)度量相關(guān)屬性介紹:

響應(yīng)結(jié)果:

可以看到每個桶中都有自己的avg_price字段,這是度量聚合的結(jié)果。

四. 結(jié)語

好了關(guān)于Elasticsearch中的聚合aggregations查詢相關(guān)的內(nèi)容袁老師就給大家介紹到這里,這一章節(jié)我們主要學(xué)習(xí)了聚合的基本概念,例如桶和度量。然后,帶領(lǐng)大家通過綜合案例的形式學(xué)習(xí)了如何聚合為桶,以及如何在桶內(nèi)進(jìn)行度量操作。關(guān)于Elasticsearch的聚合相關(guān)內(nèi)容我們就給大家介紹到這里。下一小節(jié)我們帶領(lǐng)同學(xué)們學(xué)習(xí)如何使用Elasticsearch進(jìn)行集群相關(guān)的知識。


袁庭新老師ES系列13節(jié)|Elasticsearch聚合aggregations的評論 (共 條)

分享到微博請遵守國家法律
玉溪市| 讷河市| 确山县| 青浦区| 类乌齐县| 奉贤区| 上思县| 壤塘县| 鹤岗市| 上思县| 闸北区| 宝应县| 宁远县| 乾安县| 江孜县| 美姑县| 砀山县| 太和县| 遂川县| 漠河县| 科技| 凤台县| 都昌县| 共和县| 汉沽区| 凌源市| 河北区| 慈溪市| 泸州市| 忻城县| 建平县| 宝兴县| 杭锦后旗| 桂东县| 建湖县| 瓮安县| 宜丰县| 六安市| 彩票| 辽中县| 南华县|