国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch聚合優(yōu)化 | 聚合速度提升5倍!

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch聚合優(yōu)化 | 聚合速度提升5倍!。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、聚合為什么慢?

大多數(shù)時(shí)候?qū)蝹€(gè)字段的聚合查詢(xún)還是非常快的, 但是當(dāng)需要同時(shí)聚合多個(gè)字段時(shí),就可能會(huì)產(chǎn)生大量的分組,最終結(jié)果就是占用 Elasticsearch大量?jī)?nèi)存,從而導(dǎo)致 OOM 的情況發(fā)生。 實(shí)踐應(yīng)用發(fā)現(xiàn),以下情況都會(huì)比較慢:

  • 1)待聚合文檔數(shù)比較多(千萬(wàn)、億、十億甚至更多);
  • 2)聚合條件比較復(fù)雜(多重條件聚合);
  • 3)全量聚合(翻頁(yè)的場(chǎng)景用)。

2、聚合優(yōu)化方案探討

優(yōu)化方案一:默認(rèn)深度優(yōu)先聚合改為廣度優(yōu)先聚合。

"collect_mode" : "breadth_first"

復(fù)制

  • depth_first 直接進(jìn)行子聚合的計(jì)算
  • breadth_first 先計(jì)算出當(dāng)前聚合的結(jié)果,針對(duì)這個(gè)結(jié)果在對(duì)子聚合進(jìn)行計(jì)算。

優(yōu)化方案二: 每一層terms aggregation內(nèi)部加一個(gè) “execution_hint”: “map”。

 "execution_hint": "map"

復(fù)制

國(guó)內(nèi)解釋最詳細(xì)的版本來(lái)自Wood大叔:

Elasticsearch聚合優(yōu)化 | 聚合速度提升5倍!,elasticsearch,大數(shù)據(jù)

Map方式的結(jié)論可簡(jiǎn)要概括如下: 1)查詢(xún)結(jié)果直接放入內(nèi)存中構(gòu)建map,在查詢(xún)結(jié)果集小的場(chǎng)景下,速度極快; 2)但如果待結(jié)果集合很大的情況,map方式不一定也快。

優(yōu)化方案N

待進(jìn)一步深入實(shí)踐......

3、做個(gè)實(shí)驗(yàn)

聚合的平衡點(diǎn)是多少呢?

3.1 實(shí)驗(yàn)場(chǎng)景

場(chǎng)景一:在近億的document中,檢索滿(mǎn)足給定條件的數(shù)據(jù),并對(duì)聚合結(jié)果全量聚合。 場(chǎng)景二:在百萬(wàn)級(jí)別的document中,全量聚合。 場(chǎng)景三:在近億級(jí)別的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)修改索引名稱(chēng),以獲取更多的文檔。 2)map模式添加 “execution_hint”: “map”,默認(rèn)是global_ordinals模式。 3)”size”: 1000,設(shè)定聚合取值。

3.3 聚合結(jié)果

Elasticsearch聚合優(yōu)化 | 聚合速度提升5倍!,elasticsearch,大數(shù)據(jù)

3.4 結(jié)果分析

對(duì)比場(chǎng)景一與場(chǎng)景二、三,說(shuō)明:

  • 當(dāng)結(jié)果集合比較少的時(shí)候,map聚合方式明顯速度更快,速度提升了接近5倍!
  • 當(dāng)結(jié)果集合比較大的時(shí)候(百萬(wàn)——億級(jí)別)的時(shí)候,傳統(tǒng)的聚合方式會(huì)比map方式快。

4、小結(jié)

  • global_ordinals是關(guān)鍵字字段( keyword field )的默認(rèn)選項(xiàng),它使用 全局順序(global ordinals) 來(lái)動(dòng)態(tài)分配存儲(chǔ)區(qū),因此內(nèi)存使用情況與作為聚合作用域一部分的文檔值的數(shù)量成線(xiàn)性關(guān)系。
  • 只有極少數(shù)文檔與查詢(xún)匹配匹配時(shí)才應(yīng)考慮使用map方式。 默認(rèn)情況下,只有在腳本上運(yùn)行聚合時(shí)才會(huì)使用map,因?yàn)樗鼈儧](méi)有序號(hào)( ordinals )。否則,基于 順序(ordinals) 的執(zhí)行模式會(huì)相對(duì)更快。

參考: http://t.cn/R8WI6QD http://t.cn/R8WIKta https://elasticsearch.cn/question/1008 http://t.cn/R8WIpYn文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-789470.html

到了這里,關(guān)于Elasticsearch聚合優(yōu)化 | 聚合速度提升5倍!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • elasticsearch的數(shù)據(jù)聚合

    elasticsearch的數(shù)據(jù)聚合

    聚合可以讓我們極其方便的實(shí)現(xiàn)對(duì)數(shù)據(jù)的統(tǒng)計(jì)、分析、運(yùn)算。例如: 什么品牌的手機(jī)最受歡迎? 這些手機(jī)的平均價(jià)格、最高價(jià)格、最低價(jià)格? 這些手機(jī)每月的銷(xiāo)售情況如何? 實(shí)現(xiàn)這些統(tǒng)計(jì)功能的比數(shù)據(jù)庫(kù)的sql要方便的多,而且查詢(xún)速度非??欤梢詫?shí)現(xiàn)近實(shí)時(shí)搜索效果 聚

    2024年02月09日
    瀏覽(19)
  • elasticsearch——數(shù)據(jù)聚合

    聚合(aggregations)可以實(shí)現(xiàn)對(duì)文檔數(shù)據(jù)的統(tǒng)計(jì)、分析、運(yùn)算。聚合常見(jiàn)的有三類(lèi): 桶(Bucket)聚合:用來(lái)對(duì)文檔做分組 ??????TermAggregation:按照文檔字段值分組 ???????Date Histogram:按照日期階梯分組,例如一周為一組,或者一月為一組 度量(Metric)聚合:用以計(jì)算一

    2023年04月24日
    瀏覽(15)
  • elasticsearch-數(shù)據(jù)聚合

    elasticsearch-數(shù)據(jù)聚合

    目錄 介紹 ?實(shí)際操作 DSL實(shí)現(xiàn)Metrics聚合(嵌套聚合) RestClient實(shí)現(xiàn)聚合(以酒店品牌為例) 實(shí)現(xiàn)對(duì)酒店品牌、城市、星級(jí)的過(guò)濾 補(bǔ)6.20: (32條消息) Elasticsearch 聚合查詢(xún)(aggs)_龍?jiān)磍ll的博客-CSDN博客_elasticsearch聚合查詢(xún) 介紹 聚合: 實(shí)現(xiàn)對(duì)文檔數(shù)據(jù)的統(tǒng)計(jì)、分析以及運(yùn)算,類(lèi)似于

    2023年04月09日
    瀏覽(15)
  • Elasticsearch 8.X DSL 如何優(yōu)化更有助于提升檢索性能?

    Elasticsearch 8.X DSL 如何優(yōu)化更有助于提升檢索性能?

    根據(jù)我的實(shí)戰(zhàn)和咨詢(xún)經(jīng)驗(yàn),我發(fā)現(xiàn)如下幾個(gè)問(wèn)題。 當(dāng)然,這是在和球友交流確認(rèn)問(wèn)題之后總結(jié)出來(lái)的。 2.1 問(wèn)題1:bool 組合嵌套過(guò)深。 官方實(shí)際是有參數(shù)來(lái)約束的,indices.query.bool.max_nested_depth——bool 最大支持的嵌套層數(shù)是 20 ,并且過(guò)大的嵌套層數(shù)會(huì)導(dǎo)致“堆棧溢出”異常問(wèn)

    2024年02月16日
    瀏覽(88)
  • Elasticsearch的數(shù)據(jù)聚合與報(bào)表

    Elasticsearch是一個(gè)分布式、實(shí)時(shí)的搜索和分析引擎,它可以處理大量數(shù)據(jù)并提供快速、準(zhǔn)確的搜索結(jié)果。Elasticsearch的數(shù)據(jù)聚合功能可以幫助用戶(hù)對(duì)搜索結(jié)果進(jìn)行聚合和分析,從而生成報(bào)表和挖掘有價(jià)值的信息。在本文中,我們將深入探討Elasticsearch的數(shù)據(jù)聚合與報(bào)表功能,揭示

    2024年02月22日
    瀏覽(20)
  • Elasticsearch --- 數(shù)據(jù)聚合、自動(dòng)補(bǔ)全

    Elasticsearch --- 數(shù)據(jù)聚合、自動(dòng)補(bǔ)全

    聚合(aggregations) 可以讓我們極其方便的實(shí)現(xiàn)對(duì)數(shù)據(jù)的統(tǒng)計(jì)、分析、運(yùn)算。例如: 什么品牌的手機(jī)最受歡迎? 這些手機(jī)的平均價(jià)格、最高價(jià)格、最低價(jià)格? 這些手機(jī)每月的銷(xiāo)售情況如何? 實(shí)現(xiàn)這些統(tǒng)計(jì)功能的比數(shù)據(jù)庫(kù)的sql要方便的多,而且查詢(xún)速度非???,可以實(shí)現(xiàn)近實(shí)

    2024年02月04日
    瀏覽(37)
  • 【ElasticSearch】數(shù)據(jù)聚合語(yǔ)法與Java實(shí)現(xiàn)

    【ElasticSearch】數(shù)據(jù)聚合語(yǔ)法與Java實(shí)現(xiàn)

    聚合(aggregations)可以實(shí)現(xiàn) 對(duì)文檔數(shù)據(jù)的統(tǒng)計(jì)、分析、運(yùn)算 。(類(lèi)比MySQL的聚合函數(shù))ES聚合常見(jiàn)的有三類(lèi): 桶(Bucket)聚合:用來(lái)對(duì)文檔做分組 度量(Metric)聚合:用以計(jì)算一些值,比如:最大值、最小值、平均值等 管道(pipeline)聚合:基于其它聚合的結(jié)果為基礎(chǔ)做聚

    2024年02月14日
    瀏覽(24)
  • 微服務(wù)學(xué)習(xí)|elasticsearch:數(shù)據(jù)聚合、自動(dòng)補(bǔ)全、數(shù)據(jù)同步

    微服務(wù)學(xué)習(xí)|elasticsearch:數(shù)據(jù)聚合、自動(dòng)補(bǔ)全、數(shù)據(jù)同步

    聚合 (aggregations)可以實(shí)現(xiàn)對(duì)文檔數(shù)據(jù)的統(tǒng)計(jì)、分析、運(yùn)算。聚合常見(jiàn)的有三類(lèi): 桶(Bucket)聚合:用來(lái)對(duì)文檔做分組 TermAggregation:按照文檔字段值分組 Date Histogram:按照日期階梯分組,例如一周為一組,或者一月為一組 度量(Metric)聚合:用以計(jì)算一些值,比如: 最大值、最小值、平均

    2024年02月04日
    瀏覽(21)
  • Elasticsearch 聚合數(shù)據(jù)結(jié)果不精確問(wèn)題解決方案

    Elasticsearch 聚合數(shù)據(jù)結(jié)果不精確問(wèn)題解決方案

    近期我們項(xiàng)目中出現(xiàn)使用ES聚合某個(gè)索引的數(shù)據(jù)取TOP 10的數(shù)據(jù)和相同條件下查詢(xún)所有數(shù)據(jù)然后按數(shù)據(jù)量排序取的TOP 10的數(shù)據(jù)不一致的問(wèn)題。 下面我們簡(jiǎn)單分析一下這個(gè)問(wèn)題,列出一些常見(jiàn)的解決方案。 Elasticsearch分片機(jī)制 Elasticsearch索引(index)有一個(gè)主分片(primary shard)和

    2024年02月11日
    瀏覽(17)
  • ElasticSearch 數(shù)據(jù)聚合、自動(dòng)補(bǔ)全(自定義分詞器)、數(shù)據(jù)同步

    ElasticSearch 數(shù)據(jù)聚合、自動(dòng)補(bǔ)全(自定義分詞器)、數(shù)據(jù)同步

    官方文檔 = 聚合 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html 聚合:對(duì)文檔信息的統(tǒng)計(jì)、分類(lèi)、運(yùn)算。類(lèi)似mysql sum、avg、count 桶(Bucket)聚合:用來(lái)對(duì)文檔做分組 TermAggregation:按照文檔字段值分組(相當(dāng)于mysql group by) Date Histogram:按照日期階梯分組,

    2024年02月12日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包