這些聚合功能可以根據它們的作用和應用場景分為幾大類,以下是分類后的結果:
1.基礎聚合(Basic Aggregations)
? Terms(字段聚合)
根據字段值對數據進行分組并統計。
例子:按產品類別統計銷售數量。
? Histogram(直方圖)
將數值數據分桶并統計每個桶內的數據數量。
例子:按年齡區間統計用戶數量。
? Date histogram(日期直方圖)
按固定時間間隔對日期數據進行分桶并統計。
例子:按月統計用戶注冊數量。
? Range(范圍聚合)
根據數值范圍對數據進行分桶并統計。
例子:按價格區間統計商品數量。
? Missing(缺失值)
統計缺失字段的數據。
例子:統計用戶未填寫地址的數量。
? Global(全局聚合)
對整個數據集進行全局統計。
例子:計算總銷售額。
2.時間序列聚合(Time Series Aggregations)
? Date histogram(日期直方圖)
按固定時間間隔對日期數據進行分桶并統計。
例子:按月統計用戶注冊數量。
? Auto-interval date histogram(自動間隔日期直方圖)
根據數據的時間分布自動劃分時間間隔,并生成直方圖。
例子:分析網站訪問日志,自動按小時或天生成訪問量直方圖。
? Time series(時間序列)
按時間順序對數據進行聚合和分析,常用于趨勢分析和預測。
例子:分析股票價格的時間序列變化。
3.地理聚合(Geospatial Aggregations)
? Geo-distance(地理距離)
根據地理坐標計算距離。
例子:計算用戶與最近的門店之間的距離。
? Geohash grid(Geohash網格)
使用Geohash算法將地理區域劃分為網格,并統計網格內的數據。
例子:統計不同地區的用戶分布。
? Geohex grid(Geohex網格)
使用Geohex算法劃分地理區域并統計數據。
例子:分析城市中不同區域的交通流量。
? Geotile grid(地理瓦片網格)
使用地理瓦片技術劃分區域并統計數據。
例子:分析全球范圍內的氣象數據分布。
4.文本和分類聚合(Text and Categorization Aggregations)
? Categorize text(文本分類)
將文本數據歸類到預定義的類別中。
例子:將新聞文章分類為體育、財經、娛樂等。
? Significant terms(顯著項聚合)
找出數據中顯著的項,通常用于文本分析,識別重要或異常的關鍵詞。
例子:分析用戶評論,找出顯著的負面或正面詞匯。
? Significant text(顯著文本聚合)
找出文本數據中顯著的文本片段,通常用于情感分析或異常檢測。
例子:分析產品評論,找出顯著的負面或正面評論片段。
5.采樣和過濾聚合(Sampling and Filtering Aggregations)
? Filter(過濾器)
根據條件過濾數據。
例子:過濾出價格大于100元的商品。
? Filters(多過濾器)
使用多個過濾條件對數據進行分類。
例子:根據價格和品牌分類商品。
? Sampler(采樣器)
從數據集中抽取樣本進行聚合,用于減少計算量,提高性能。
例子:從大量日志數據中抽取10%的樣本進行分析。
? Random sampler(隨機采樣器)
從數據集中隨機抽取樣本。
例子:從大量用戶中隨機抽取100個用戶。
? Diversified sampler(多樣化采樣器)
從數據集中隨機抽取多樣化樣本。
例子:從大量商品中隨機抽取不同類別的樣本。
6.嵌套和復雜結構聚合(Nested and Complex Structure Aggregations)
? Children(子聚合)
在嵌套文檔結構中,對子文檔進行聚合操作。
例子:在電商數據中,對訂單中的商品明細進行聚合。
? Parent(父聚合)
在嵌套文檔結構中,對父文檔進行聚合操作。
例子:統計每個訂單的總金額。
? Reverse nested(反向嵌套聚合)
在嵌套文檔結構中,從子文檔聚合到父文檔。
例子:統計每個商品所屬訂單的數量。
? Nested(嵌套聚合)
在嵌套文檔結構中進行聚合操作。
例子:在多級評論結構中統計評論數量。
? Composite(復合聚合)
結合多個聚合條件,生成更復雜的聚合結果。
例子:按地區和產品類別統計銷售額。
7.統計和分析聚合(Statistical and Analytical Aggregations)
? Frequent item sets(頻繁項集)
找出數據中頻繁出現的項集。
例子:在購物籃中找出頻繁購買的商品組合。
? Rare terms(稀有項聚合)
找出數據中出現頻率較低的項。
例子:找出罕見的用戶行為。
? Variable width histogram(可變寬度直方圖)
根據數據分布動態調整直方圖的桶寬度,適合處理數據分布不均勻的情況。
例子:分析用戶收入分布,動態調整桶寬度以更好地展示數據。
? Subtleties of bucketing range fields(范圍字段分桶的微妙之處)
在對范圍字段進行分桶時需要注意的細節,例如如何處理邊界值、如何選擇合適的桶寬度等。
例子:在按價格區間分桶時,需要考慮是否包含邊界值。
8.網絡和IP聚合(Network and IP Aggregations)
? IP prefix(IP前綴)
根據IP地址的前綴進行聚合。
例子:按IP段統計訪問來源。
? IP range(IP范圍)
統計特定IP范圍內的數據。
例子:統計來自某個IP段的流量。
---
通過這樣的分類,可以更清晰地理解每種聚合功能的用途和適用場景,便于在實際數據分析中選擇合適的工具。
按照聚合功能是否涉及單個桶(Single Bucket)或多個桶(Multi-Bucket)進行分類,可以將這些聚合功能分為兩大類。單桶聚合主要用于對整個數據集或特定子集進行全局統計,而多桶聚合則用于將數據劃分到多個桶中進行分組統計。
1.單桶聚合(Single Bucket Aggregations)
單桶聚合通常用于對整個數據集或特定子集進行全局統計,不涉及將數據劃分到多個桶中。
1.1 Global(全局聚合)
? 作用:對整個數據集進行全局統計,不考慮數據的分組或分桶。
? 例子:計算總銷售額。
? 響應:返回整個數據集的總銷售額。
1.2 Missing(缺失值聚合)
? 作用:統計缺失字段的數據。
? 例子:統計用戶未填寫地址的數量。
? 響應:返回缺失地址的用戶數量。
1.3 Filter(過濾器聚合)
? 作用:根據條件過濾數據后進行統計。
? 例子:過濾出價格大于100元的商品數量。
? 響應:返回符合條件的商品數量。
1.4 Sampler(采樣器聚合)
? 作用:從數據集中抽取樣本進行聚合。
? 例子:從大量日志數據中抽取10%的樣本進行分析。
? 響應:返回抽取樣本的聚合結果。
1.5 Reverse Nested(反向嵌套聚合)
? 作用:在嵌套文檔結構中,從子文檔聚合到父文檔。
? 例子:統計每個商品所屬訂單的數量。
? 響應:返回每個商品所屬訂單的總數。
2.多桶聚合(Multi-Bucket Aggregations)
多桶聚合用于將數據劃分到多個桶中進行分組統計,每個桶代表一個特定的分組條件。
2.1 Terms(字段聚合)
? 作用:根據字段值對數據進行分組并統計。
? 例子:按產品類別統計銷售數量。
? 響應:返回每個產品類別的銷售數量,例如“電子產品:100件,服裝:200件”。
2.2 Histogram(直方圖)
? 作用:將數值數據分桶并統計每個桶內的數據數量。
? 例子:按年齡區間統計用戶數量。
? 響應:顯示每個年齡區間的用戶數量。
2.3 Date Histogram(日期直方圖)
? 作用:按固定時間間隔對日期數據進行分桶并統計。
? 例子:按月統計用戶注冊數量。
? 響應:顯示每月注冊用戶數的變化趨勢。
2.4 Range(范圍聚合)
? 作用:根據數值范圍對數據進行分桶并統計。
? 例子:按價格區間統計商品數量。
? 響應:顯示每個價格區間的商品數量。
2.5 Date Range(日期范圍聚合)
? 作用:統計特定日期范圍內的數據。
? 例子:統計2024年1月1日至2024年12月31日內的訂單數量。
? 響應:返回該日期范圍內的訂單總數。
2.6 Geo-Distance(地理距離聚合)
? 作用:根據地理坐標計算距離并分桶。
? 例子:計算用戶與最近的門店之間的距離。
? 響應:返回距離最近的門店及其距離。
2.7 Geohash Grid(Geohash網格聚合)
? 作用:使用Geohash算法將地理區域劃分為網格,并統計網格內的數據。
? 例子:統計不同地區的用戶分布。
? 響應:顯示每個網格內的用戶數量。
2.8 Geohex Grid(Geohex網格聚合)
? 作用:使用Geohex算法劃分地理區域并統計數據。
? 例子:分析城市中不同區域的交通流量。
? 響應:顯示每個區域的流量分布。
2.9 Geotile Grid(地理瓦片網格聚合)
? 作用:使用地理瓦片技術劃分區域并統計數據。
? 例子:分析全球范圍內的氣象數據分布。
? 響應:顯示每個瓦片區域的氣象數據。
2.10 IP Range(IP范圍聚合)
? 作用:統計特定IP范圍內的數據。
? 例子:統計來自某個IP段的流量。
? 響應:返回該IP范圍內的流量數據。
2.11 Multi Terms(多字段聚合)
? 作用:根據多個字段進行分組并統計。
? 例子:按國家和城市統計用戶數量。
? 響應:顯示每個國家和城市的用戶數量。
2.12 Composite(復合聚合)
? 作用:結合多個聚合條件,生成更復雜的聚合結果。
? 例子:按地區和產品類別統計銷售額。
? 響應:顯示每個地區不同產品的銷售額。
2.13 Significant Terms(顯著項聚合)
? 作用:找出數據中顯著的項,通常用于文本分析。
? 例子:分析用戶評論,找出顯著的負面或正面詞匯。
? 響應:返回顯著的關鍵詞及其重要性評分。
2.14 Significant Text(顯著文本聚合)
? 作用:找出文本數據中顯著的文本片段。
? 例子:分析產品評論,找出顯著的負面或正面評論片段。
? 響應:返回顯著的文本片段及其重要性評分。
2.15 Variable Width Histogram(可變寬度直方圖)
? 作用:根據數據分布動態調整直方圖的桶寬度。
? 例子:分析用戶收入分布,動態調整桶寬度以更好地展示數據。
? 響應:顯示更合理的收入分布直方圖。
2.16 Time Series(時間序列聚合)
? 作用:按時間順序對數據進行聚合和分析。
? 例子:分析股票價格的時間序列變化。
? 響應:返回股票價格隨時間的變化趨勢。
2.17 Auto-Interval Date Histogram(自動間隔日期直方圖)
? 作用:根據數據的時間分布自動劃分時間間隔,并生成直方圖。
? 例子:分析網站訪問日志,自動按小時或天生成訪問量直方圖。
? 響應:顯示每天的訪問量峰值和低谷。
2.18 Frequent Item Sets(頻繁項集聚合)
? 作用:找出數據中頻繁出現的項集。
? 例子:在購物籃中找出頻繁購買的商品組合。
? 響應:發現“牛奶+面包”是常見的購買組合。
2.19 Rare Terms(稀有項聚合)
? 作用:找出數據中出現頻率較低的項。
? 例子:找出罕見的用戶行為。
? 響應:返回出現次數較少的行為類型。
2.20 Diversified Sampler(多樣化采樣器)
? 作用:從數據集中隨機抽取多樣化樣本。
? 例子:從大量商品中隨機抽取不同類別的樣本。
? 響應:返回包含不同類別商品的樣本集合。
2.21 Random Sampler(隨機采樣器)
? 作用:從數據集中隨機抽取樣本。
? 例子:從大量用戶中隨機抽取100個用戶。
? 響應:返回隨機抽取的用戶樣本。
2.22 Nested(嵌套聚合)
? 作用:在嵌套文檔結構中進行聚合操作。
? 例子:在多級評論結構中統計評論數量。
? 響應:返回每個頂級評論下的子評論數量。
2.23 Children(子聚合)
? 作用:在嵌套文檔結構中,對子文檔進行聚合操作。
? 例子:在電商數據中,對訂單中的商品明細進行聚合。
? 響應:統計某個訂單中不同商品的數量。
2.24 Parent(父聚合)
? 作用:在嵌套文檔結構中,對父文檔進行聚合操作。
? 例子:統計每個訂單的總金額。
? 響應:返回每個訂單的金額總和。
2.25 Categorize Text(文本分類聚合)
? 作用:將文本數據歸類到預定義的類別中。
? 例子:將新聞文章分類為體育、財經、娛樂等。
? 響應:文本“NBA總決賽”被分類到“體育”類別。
---
總結
? 單桶聚合:主要用于全局統計,不涉及分組,適合對整個數據集或特定子集進行簡單統計。
? 多桶聚合:用于將數據劃分到多個桶中進行分組統計,適合對數據進行更細粒度的分析,例如按時間、數值范圍或類別進行分組。
?
?