ElasticSearch6 x 之分組聚合

2021-09-25 13:49:49 字數 1962 閱讀 8164

資料準備:新建索引my_index,初始化資料

# 建立my_index索引

put 請求:

# 索引資料初始化

put請求: persion/1

put請求: persion/2

put請求: persion/3

put請求: persion/4

put請求: persion/5

put請求: persion/6

分組聚合之terms 分組(terms aggregation)

【例子】根據薪資水平進行分組,統計每個薪資水平的人數

post 請求:_search/}}}

【例子】統計上面每個分組的平均年齡

post請求: _search/

, "aggs":}}

}}}

分組聚合之filter分組(filter aggregation)

filter聚合用於過濾器聚合,把滿足過濾器條件的文件分到一組。

【例子】計算男人的平均年齡 

post請求: _search/

},"aggs":}}

}}}

【例子】統計男女員工的平均年齡

post請求: _search/

}, }]},

"aggs":}}

}}}

分組聚合之range分組(rangeaggregation)

from..to區間範圍是[from,to),也就是說包含from點,不包含to點 

【例子】查詢薪資在[0,10000),[10000,20000),[2000,+無窮大)三個範圍的員工數

post請求: _search/

, , ]}

}}}

【例子】查詢發布日期在2016-12-01之前、2016-12-01至2017-01-01、2017-01-01之後三個時間區間的文件數

post請求:

, , ]}

}}}

分組聚合之date分組(date aggregation)

專用於日期值的範圍聚合。 這種聚合和正常範圍聚合的主要區別在於,起始和結束值可以在日期數學表示式中表示,並且還可以指定返回起始和結束響應欄位的日期格式。 請注意,此聚合包含from值並排除每個範圍的值。

【例子】計算一年前之前發表的博文數和從一年前以來發表的博文總數

post請求:

, ]}

}}}

Elasticsearch 6 x 倒排索引與分詞

示例 對以下三個文件去除停用詞後構造倒排索引 倒排索引 查詢過程 查詢包含 搜尋引擎 的文件 通過倒排索引獲得 搜尋引擎 對應的文件id列表,有1,3 通過正排索引查詢1和3的完整內容 返回最終結果 倒排索引 組成 單詞詞典 term dictionary 單詞詞典的實現一般用b 樹,b 樹構造的視...

Elasticsearch6 X 去重統計詳解

elasticsearch有沒有類似mysql的distinct的去重功能呢?1 如何去重計數?類似mysql select distinct count 1 from my table 2 如何獲取去重結果。類似mysql select distinct name,age from users 1...

elasticsearch 7 X 部署文件

elasticsearch 7.2.1 kibana 7.2.1 最新版為7.3.0 以下文件是根據7.3.0書寫,7.2.1通用 開發 測試環境 cpu 8 核 記憶體8g 硬碟200g 3臺 生產環境 待討論確定 如已設定則可無須考慮該部署準備操作,文件中所有涉及到ip port的資訊,請根據實...