91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Elasticsearch如何實現聚合優化

發布時間:2021-12-16 10:15:20 來源:億速云 閱讀:403 作者:小新 欄目:大數據

這篇文章主要為大家展示了“Elasticsearch如何實現聚合優化”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Elasticsearch如何實現聚合優化”這篇文章吧。

1、聚合為什么慢?

大多數時候對單個字段的聚合查詢還是非常快的, 但是當需要同時聚合多個字段時,就可能會產生大量的分組,最終結果就是占用 Elasticsearch大量內存,從而導致 OOM 的情況發生。 
實踐應用發現,以下情況都會比較慢: 

  • 1)待聚合文檔數比較多(千萬、億、十億甚至更多); 

  • 2)聚合條件比較復雜(多重條件聚合); 

  • 3)全量聚合(翻頁的場景用)。

2、聚合優化方案探討

優化方案一:默認深度優先聚合改為廣度優先聚合。

"collect_mode" : "breadth_first"
  • depth_first 直接進行子聚合的計算

  • breadth_first 先計算出當前聚合的結果,針對這個結果在對子聚合進行計算。

優化方案二: 每一層terms aggregation內部加一個 “execution_hint”: “map”。

 "execution_hint": "map"

國內解釋最詳細的版本來自Wood大叔: 
Elasticsearch如何實現聚合優化
Map方式的結論可簡要概括如下: 
1)查詢結果直接放入內存中構建map,在查詢結果集小的場景下,速度極快; 
2)但如果待結果集合很大的情況,map方式不一定也快。

優化方案N

待進一步深入實踐......

3、做個實驗

聚合的平衡點是多少呢?

3.1 實驗場景

場景一:在近億的document中,檢索滿足給定條件的數據,并對聚合結果全量聚合。 
場景二:在百萬級別的document中,全量聚合。 
場景三:在近億級別的document中,全量聚合。

3.2 聚合操作

POST index_*/_search   

{

  "sort": [

    {

      "nrply": "desc"

    }

  ],

  "aggs": {

    "count_over_sin": {

      "terms": {

        "field": "sin_id",

   "execution_hint": "map",

        "size": 1000,

        "collect_mode": "breadth_first"

      }

    }


  },

  "size":0

}

1)修改索引名稱,以獲取更多的文檔。 
2)map模式添加 “execution_hint”: “map”,默認是global_ordinals模式。 
3)”size”: 1000,設定聚合取值。

3.3 聚合結果

Elasticsearch如何實現聚合優化

以上是“Elasticsearch如何實現聚合優化”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣威市| 淮安市| 手游| 视频| 乌兰县| 正安县| 大邑县| 比如县| 当阳市| 兖州市| 荣成市| 阿拉尔市| 福州市| 凉山| 麻城市| 民乐县| 临清市| 通州区| 福清市| 兴仁县| 健康| 龙游县| 台山市| 九龙城区| 保定市| 河间市| 含山县| 漳浦县| 莱州市| 卢湾区| 当涂县| 肇州县| 饶阳县| 凉山| 沐川县| 泸西县| 石门县| 依安县| 麻栗坡县| 福建省| 南开区|