Elasticsearch 聚合 不準確問題

2021-10-03 13:52:16 字數 819 閱讀 1151

在做es 聚合查詢時,發現資料不準確:根據name 聚合,查詢出wang jie有5個文件,然後。根據這個姓名查詢,確有7個文件

說明,第一次聚合查詢不準確

如下圖:

第一次:

對應dsl

第二次:

對應dsl

於是網上搜尋一波,看了幾篇文章,大概總結一下

es 的資料是在shard上儲存的,乙個索引預設是5個分片,es 聚合查詢的時候,是先在每個分片取出shard_size個資料,然後再彙總每個分片的資料,最後再取size 個資料,其中 size 引數規定了最後返回的term個數(預設是10個)

shard_size 引數規定了每個分片上返回的個數(預設(size * 1.5 + 10),

所以聚合查詢存在一定誤差

解決辦法:

(1)加大size 的值可以減少誤差

(2)將所有資料存在乙個shard 上,這樣的話就不存在誤差了(適用於少資料量)

(3)增大shard_size的值,缺點就是,彙總的時候會有瓶頸

gr參考「

elasticsearch之聚合的作 範圍及排序

同時es還支援以下方式改變聚合的作用範圍 filter post filter globaldelete employees put employees gender job name salary put employees bulk post employees search aggs filt...

elasticsearch 7 聚合統計 分組聚合

原文 get index type search 返回值表示,15,20 區間內的值有1個,20,25 區間內的值有0個,25,30 區間內的值有1個,30,35 區間內的值有1個。1 直方圖篩選規則 舉個例子,有乙個price欄位,這個字段描述了商品的 現在想每隔5就建立乙個桶,統計每隔區間都有多...

ElasticSearch6 x 之分組聚合

資料準備 新建索引my index,初始化資料 建立my index索引 put 請求 索引資料初始化 put請求 persion 1 put請求 persion 2 put請求 persion 3 put請求 persion 4 put請求 persion 5 put請求 persion 6 分組...