【Elasticsearch】分桶聚合功能概述

這些聚合功能可以根據它們的作用和應用場景分為幾大類,以下是分類后的結果:

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總決賽”被分類到“體育”類別。


---

總結

? 單桶聚合:主要用于全局統計,不涉及分組,適合對整個數據集或特定子集進行簡單統計。

? 多桶聚合:用于將數據劃分到多個桶中進行分組統計,適合對數據進行更細粒度的分析,例如按時間、數值范圍或類別進行分組。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/894876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/894876.shtml
英文地址,請注明出處:http://en.pswp.cn/news/894876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql的cpu使用率100%問題排查

背景 線上mysql服務器經常性出現cpu使用率100%的告警, 因此整理一下排查該問題的常規流程。 1. 確認CPU占用來源 檢查系統進程 使用 top 或 htop 命令,確認是否是 mysqld 進程導致CPU滿載:top -c -p $(pgrep mysqld)2. 實時分析MySQL活動 …

人工智能賦能企業系統架構設計:以ERP與CRM系統為例

一、引言 1.1 研究背景與意義 在數字化時代,信息技術飛速發展,人工智能(Artificial Intelligence, AI)作為一項具有變革性的技術,正深刻地影響著各個領域。近年來,AI 在技術上取得了顯著突破,…

使用jmeter進行壓力測試

使用jmeter進行壓力測試 jmeter安裝 官網安裝包下載,選擇二進制文件,解壓。 tar -xzvf apache-jmeter-x.tgz依賴jdk安裝。 yum install java-1.8.0-openjdk環境變量配置,修改/etc/profile文件,添加以下內容。 export JMETER/…

深入理解流(Streams)—— 聲明式數據處理的藝術

1. 引言 大家好!歡迎來到本系列博客的第三篇。在前兩篇文章中,我們已經領略了 Java 8 中 行為參數化 和 Lambda 表達式 的魅力。 在第 1 章 Java行為參數化:從啰嗦到簡潔的代碼進化中,我們了解到如何通過將行為(代碼…

【Linux】之【Get√】nmcli device wifi list 與 wpa_cli scan 和 wpa_cli scan_result 區別

nmcli device wifi list 是 NetworkManager 的命令行工具 nmcli 的一部分,它用于列出當前可用的無線網絡。它的作用和 wpa_cli 的掃描功能類似,但有一些不同點。 1. nmcli device wifi list 功能: nmcli device wifi list 命令用于顯示當前…

【藍橋杯嵌入式】6_定時器輸入捕獲

全部代碼網盤自取 鏈接:https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取碼:3ii2 這是兩個信號發生器,可以通過調節板上的兩個電位器R39和R40調節輸出頻率。 將PB4、PA15選擇ch1,兩個信號發生器只能選擇TIM3和TIM…

詳解SQLAlchemy的函數relationship

在 SQLAlchemy 中,relationship 是一個非常重要的函數,用于定義模型之間的關系。它用于在 ORM 層面上表示數據庫表之間的關聯關系(如 1 對 1、1 對多和多對多)。relationship 的主要作用是提供一個高級接口,用于在模型…

分桶函數的使用

除了 NTILE 函數,SQL 中還有其他一些與 分桶(bucketization)相關的函數,雖然它們的實現方式不同,但都涉及將數據分成多個區間或組。以下是一些常用的分桶函數: 1. CASE 語句 雖然 CASE 不是開窗函數&…

iOS 音頻錄制、播放與格式轉換

iOS 音頻錄制、播放與格式轉換:基于 AVFoundation 和 FFmpegKit 的實現 在 iOS 開發中,音頻處理是一個非常常見的需求,比如錄音、播放音頻、音頻格式轉換等。本文將詳細解讀一段基于 AVFoundation 和 FFmpegKit 的代碼,展示如何實現音頻錄制、播放以及 PCM 和 AAC 格式之間…

數據結構與算法(test1)

一、樹和二叉樹 1. 看圖,完成以下填空 (1).樹的度為________。 (2).樹中結點的最大層次,稱為樹的_____或樹的______,值是______。 (3).結點A和B的度分別為________ 和 ________。 (4).結點A是結點B的________。 (5).結點B是結點A的________…

新版AndroidStudio 修改 jdk版本

一、問題 之前,在安卓項目中配置JDK和Gradle的過程非常直觀,只需要進入Android Studio的File菜單中的Project Structure即可進行設置,十分方便。 如下圖可以在這修改JDK: 但是升級AndroidStudio之后,比如我升級到了Android Stu…

litemall,又一個小商場系統

litemall Spring Boot后端 Vue管理員前端 微信小程序用戶前端 Vue用戶移動端 代碼地址:litemall: 又一個小商城。 litemall Spring Boot后端 Vue管理員前端 微信小程序用戶前端 Vue用戶移動端

cursor 開發java項目教程簡單上手

1.官網下載 Cursor - The AI Code Editor 下載完后注冊賬號,可以使用無限郵的方式 注冊完之后 設置中文 可以選擇設置為中文 Ctrl Shift X 進入設置頁面輸入chinese 然后重啟 更改jdk跟maven倉庫設置 ctrlshiftp 打開輸入框后輸入json,把下面代碼…

安裝和使用 Ollama(實驗環境windows)

下載安裝 下載 https://ollama.com/download/windows 安裝 Windows 安裝 如果直接雙擊 OllamaSetup.exe 安裝,默認會安裝到 C 盤,如果需要指定安裝目錄,需要通過命令行指定安裝地址,如下: # 切換到安裝目錄 C:\Use…

[原創](Modern C++)現代C++的關鍵性概念: 文件編碼細節之一:BOM(Byte Order Mark, 字節順序標記)

常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 開發工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…

LQB(0)-python-基礎知識

一、Python開發環境與基礎知識 python解釋器:用于解釋python代碼 方式: 1.直接安裝python解釋器 2.安裝Anaconda管理python環境 python開發環境:用于編寫python代碼 1.vscode 2.pycharm # 3.安裝Anaconda后可以使用網頁版的jupyter n…

C# 中記錄(Record)詳解

從C#9.0開始,我們有了一個有趣的語法糖:記錄(record)   為什么提供記錄? 開發過程中,我們往往會創建一些簡單的實體,它們僅僅擁有一些簡單的屬性,可能還有幾個簡單的方法,比如DTO等等&#xf…

使用 CSS 實現透明效果

在 CSS 中,實現透明效果有幾種方法,具體使用哪種方法取決于具體需求。以下是一些常見的方法: 使用 opacity 屬性: opacity 屬性可以設置整個元素的透明度,包括其所有的子元素。 .transparent { opacity: 0.5; /* 0 表…

MS17-010(永恒之藍1.0)漏洞遠程控制win7系統操作實戰小白通俗易懂

1.準備環境win7操作系統(被攻擊機)以及kali系統(攻擊機),kali使用msf工具進行攻擊。 2.打開kali終端,進入msf,輸入msfconsole然后等待啟動。 ┌──(root?kali-chifan)-[~] └─# msfconsole…

C語言:函數棧幀的創建和銷毀

目錄 1.什么是函數棧幀2.理解函數棧幀能解決什么問題3.函數棧幀的創建和銷毀的過程解析3.1 什么是棧3.2 認識相關寄存器和匯編指令3.3 解析函數棧幀的創建和銷毀過程3.3.1 準備環境3.3.2 函數的調用堆棧3.3.3 轉到反匯編3.3.4 函數棧幀的創建和銷毀 1.什么是函數棧幀 在寫C語言…