在做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 分組...