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

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

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch 聚合數(shù)據(jù)結(jié)果不精確問(wèn)題解決方案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Elasticsearch 聚合數(shù)據(jù)結(jié)果不精確

背景

近期我們項(xiàng)目中出現(xiàn)使用ES聚合某個(gè)索引的數(shù)據(jù)取TOP 10的數(shù)據(jù)和相同條件下查詢所有數(shù)據(jù)然后按數(shù)據(jù)量排序取的TOP 10的數(shù)據(jù)不一致的問(wèn)題。

下面我們簡(jiǎn)單分析一下這個(gè)問(wèn)題,列出一些常見(jiàn)的解決方案。

問(wèn)題

Elasticsearch分片機(jī)制

Elasticsearch索引(index)有一個(gè)主分片(primary shard)和0個(gè)或者多個(gè)分片副本組成。

es聚合查詢不準(zhǔn)確,elasticsearch,大數(shù)據(jù),搜索引擎

Elasticsearch檢索/聚合數(shù)據(jù)

query then fetch

query階段:

  1. 客戶端將請(qǐng)求發(fā)到協(xié)調(diào)節(jié)點(diǎn)(coordinate node);
  2. 協(xié)調(diào)節(jié)點(diǎn)將搜索請(qǐng)求廣播到所有的primary shard 或者 replica。
  3. 每個(gè)shard在本地執(zhí)行搜索并構(gòu)建一個(gè)匹配文檔大小為from + size的優(yōu)先隊(duì)列,每個(gè)分片返回各自優(yōu)先隊(duì)列中所有的docId和打分值個(gè)協(xié)調(diào)節(jié)點(diǎn)。
  4. 協(xié)調(diào)節(jié)點(diǎn)對(duì)各個(gè)分片分片返回的數(shù)據(jù)進(jìn)行合并,排序,分頁(yè)等操作,產(chǎn)出最終的結(jié)果集。

fetch階段:

  1. 協(xié)調(diào)節(jié)點(diǎn)根據(jù)Query階段產(chǎn)生的結(jié)果,去各個(gè)節(jié)點(diǎn)上查詢docId實(shí)際的文檔內(nèi)容,最終有協(xié)調(diào)節(jié)點(diǎn)返回結(jié)果給客戶端。
  • coordinate node 對(duì) doc id 進(jìn)行哈希路由,將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的 node,此時(shí)會(huì)使用 round-robin 隨機(jī)輪詢算法,在 primary shard 以及其所有 replica 中隨機(jī)選擇一個(gè),讓讀請(qǐng)求負(fù)載均衡。
  • 接收請(qǐng)求的 node 返回 document 給 coordinate node 。
  • coordinate node 返回 document 給客戶端。

參考

https://www.elastic.co/cn/blog/understanding-query-then-fetch-vs-dfs-query-then-fetch

https://blog.csdn.net/a745233700/article/details/115585342?spm=1001.2014.3001.5506

問(wèn)題分析

es聚合查詢不準(zhǔn)確,elasticsearch,大數(shù)據(jù),搜索引擎

期望結(jié)果:

c = 40, a = 40 , d = 35

實(shí)際結(jié)果:

d = 35, c = 35, a = 30

導(dǎo)致聚合不精確的原因分析:

  • 效率因素:每個(gè)分片的取值Top X,并不是匯總?cè)康?TOP X。
  • 性能因素:ES 可以不每個(gè)分片Top X,而是全量聚合,但勢(shì)必這會(huì)有很大的性能問(wèn)題。

解決方案

提高聚合的精確度

size:是聚合結(jié)果的返回值,客戶期望返回聚合排名10,size值就是 10。

shard_size: 每個(gè)分片上聚合的數(shù)據(jù)條數(shù)。shard_size 原則上要大于等于 size(若設(shè)置小于size,實(shí)則沒(méi)有意義,elasticsearch 會(huì)默認(rèn)置為size)

請(qǐng)求的size值越高,結(jié)果將越準(zhǔn)確,但計(jì)算最終結(jié)果的成本也將越高。

方案

  • 調(diào)大 shard_size的值

官方推薦: size * 1.5 + 10

使用場(chǎng)景:數(shù)據(jù)量大、分片數(shù)多的集群業(yè)務(wù)場(chǎng)景

shard_size 值越大,結(jié)果越趨近于精準(zhǔn)聚合結(jié)果值。

此外,還可以通過(guò)show_term_doc_count_error參數(shù)顯示最差情況下的錯(cuò)誤值,用于輔助確定 shard_size 大小。

  • 全量聚合(不推薦)

將size設(shè)置為分片支持的最大值來(lái)解決聚合的精度問(wèn)題。

缺點(diǎn):當(dāng)分片的數(shù)據(jù)量極大,會(huì)消耗巨大的cpu用于對(duì)數(shù)據(jù)的計(jì)算排序,對(duì)性能有較大影響。
其他OLAP數(shù)據(jù)庫(kù)
ClickHouse:對(duì)于追加類型的數(shù)據(jù),如:日志數(shù)據(jù),用戶行為數(shù)據(jù)查詢 聚合非???br> StarRocks:支持明細(xì),聚合,更新,主鍵模型。

參考:https://blog.csdn.net/laoyang360/article/details/107133008?ops_request_misc=&request_id=6783e0d839e34d91ac465bedac26b860&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2blogkoosearch~default-1-107133008-null-null.268v1control&utm_term=%E8%81%9A%E5%90%88%E4%B8%8D%E5%87%86&spm=1018.2226.3001.4450文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-672246.html

到了這里,關(guān)于Elasticsearch 聚合數(shù)據(jù)結(jié)果不精確問(wèn)題解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(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)文章

  • es elasticsearch 十四 各種機(jī)制 評(píng)分機(jī)制 正序索引 解決跳躍結(jié)果問(wèn)題 解決耗時(shí)過(guò)長(zhǎng)問(wèn)題 解決相同屬性值都到一個(gè)地方

    es elasticsearch 十四 各種機(jī)制 評(píng)分機(jī)制 正序索引 解決跳躍結(jié)果問(wèn)題 解決耗時(shí)過(guò)長(zhǎng)問(wèn)題 解決相同屬性值都到一個(gè)地方

    目錄 評(píng)分機(jī)制 機(jī)制 查看評(píng)分實(shí)現(xiàn)如何算出來(lái)的explain=true 分析能否被搜索到 Doc value 正排序索引 Query phase Fetch phase Preference 問(wèn)題 解決跳躍結(jié)果問(wèn)題 Timeout 到達(dá)時(shí)間直接返回,解決耗時(shí)過(guò)長(zhǎng)問(wèn)題 Routing 數(shù)據(jù)準(zhǔn)確分配到某地,解決相同屬性值都到一個(gè)地方 評(píng)分機(jī)制 機(jī)制 TF分詞頻

    2024年02月08日
    瀏覽(32)
  • Elasticsearch解決不能修改索引、字段問(wèn)題解決方案

    問(wèn)題1: 由于es索引不能刪除,不能修改,在不影響原數(shù)據(jù)的情況下,并且生產(chǎn)服務(wù)不停機(jī)的情況下,怎么修改索引,并保留原索引內(nèi)的數(shù)據(jù)? 基于kibanna的dev Tools執(zhí)行參數(shù),淘汰postman,kibanna會(huì)有提示 1、原來(lái)索引起別名job 2、重建索引,數(shù)據(jù)遷移,默認(rèn)是同步執(zhí)行大數(shù)據(jù)量太

    2024年02月12日
    瀏覽(31)
  • 如何使用ES做簡(jiǎn)單的時(shí)間條件過(guò)濾+模糊查詢+精確匹配+關(guān)鍵字排除,查詢 elasticsearch查詢結(jié)果包含或排除某些字段、_source查詢出需要的屬性名稱

    目錄 一、時(shí)間條件過(guò)濾+模糊查詢+精確匹配+排除 1. 查詢出包含 log_geo 的數(shù)據(jù) “wildcard”: { “message”: “l(fā)og_geo” } 2. 查詢某個(gè)時(shí)間段的數(shù)據(jù) 3. 條件查詢與條件排除數(shù)據(jù) 4. from 表示起始的記錄的ID 5. size 表示顯示的記錄數(shù) 6.sort排序 desc降序、asc升序? 7.should查詢?cè)趍ysql中

    2024年01月18日
    瀏覽(22)
  • Elasticsearch 線上實(shí)戰(zhàn)問(wèn)題及解決方案探討

    Elasticsearch 線上實(shí)戰(zhàn)問(wèn)題及解決方案探討

    1.1 問(wèn)題描述 我有 1tb 的一個(gè)大索引若干,要遷移到另外一個(gè)新集群去,有沒(méi)有好辦法?reindex好像會(huì)中斷...... reindex 是不是就算設(shè)置了頻率也會(huì)莫名的中斷,而且沒(méi)地方查到錯(cuò)誤? 1000多萬(wàn) 的數(shù)據(jù),大概 80G ?用 reindex 有時(shí)候都會(huì)莫名的斷。 有時(shí)候是全的,有時(shí)候不全。 http

    2024年02月05日
    瀏覽(12)
  • 安裝Elasticsearch步驟(包含遇到的問(wèn)題及解決方案)

    安裝Elasticsearch步驟(包含遇到的問(wèn)題及解決方案)

    注: 筆者是在 centos 云服務(wù)器環(huán)境下安裝的Elasticsearch 目錄 1.安裝前準(zhǔn)備 2.下載Elasticsearch ?3.啟動(dòng)Elasticsearch 非常容易出問(wèn)題 ?第一次運(yùn)行時(shí),可能出現(xiàn)如下錯(cuò)誤: 一、內(nèi)存不足原因啟動(dòng)失敗 二、使用root用戶啟動(dòng)問(wèn)題 三、啟動(dòng)ES自動(dòng)被killed 四、max virtual memory areas vm.max_map_c

    2024年02月06日
    瀏覽(19)
  • 使用Docker安裝和部署Elasticsearch出現(xiàn)問(wèn)題以及解決方案

    docker安裝elasticsearch(最詳細(xì)版)| Bright1668-CSDN es在Windows環(huán)境啟動(dòng)報(bào)錯(cuò) | 你道本部院是個(gè)書(shū)生-CSDN 查看max_map_count的值 默認(rèn)是 65530 。 重新設(shè)置max_map_count的值。 –name es:設(shè)置容器的名稱為\\\"es\\\"。 -p 9200:9200 -p 9300:9300:這部分將主機(jī)的端口與容器的端口進(jìn)行映射。 -e “discovery.ty

    2024年02月09日
    瀏覽(66)
  • Elasticsearch部署中的兩大常見(jiàn)問(wèn)題及其解決方案

    隨著大數(shù)據(jù)和實(shí)時(shí)搜索的日益普及,Elasticsearch已經(jīng)成為現(xiàn)代應(yīng)用中不可或缺的工具。但是,像所有軟件一樣,部署和配置Elasticsearch可能會(huì)遇到一些問(wèn)題。本文將探討兩個(gè)我最近遇到的常見(jiàn)問(wèn)題及其解決方案。 在啟動(dòng)Elasticsearch時(shí),我遇到了以下錯(cuò)誤: failed to resolve host [“l(fā)

    2024年02月06日
    瀏覽(30)
  • ElasticSearch - DSL查詢文檔語(yǔ)法,以及深度分頁(yè)問(wèn)題、解決方案

    ElasticSearch - DSL查詢文檔語(yǔ)法,以及深度分頁(yè)問(wèn)題、解決方案

    目錄 一、DSL 查詢文檔語(yǔ)法 前言 1.1、DSL Query 基本語(yǔ)法 1.2、全文檢索查詢 1.2.1、match 查詢 1.2.2、multi_match 1.3、精確查詢 1.3.1、term 查詢 1.3.2、range 查詢 1.4、地理查詢 1.4.1、geo_bounding_box 1.4.2、geo_distance 1.5、復(fù)合查詢 1.5.1、相關(guān)性算分 1.5.2、function_score 1.5.3、boolean query 1.6、搜索

    2024年02月07日
    瀏覽(25)
  • 【ElasticSearch】深入探索 ElasticSearch 對(duì)數(shù)據(jù)的聚合、查詢自動(dòng)補(bǔ)全、與數(shù)據(jù)庫(kù)間的同步問(wèn)題以及使用 RabbitMQ 實(shí)現(xiàn)與數(shù)據(jù)庫(kù)間的同步

    【ElasticSearch】深入探索 ElasticSearch 對(duì)數(shù)據(jù)的聚合、查詢自動(dòng)補(bǔ)全、與數(shù)據(jù)庫(kù)間的同步問(wèn)題以及使用 RabbitMQ 實(shí)現(xiàn)與數(shù)據(jù)庫(kù)間的同步

    在本文中,我們將深入探討 ElasticSearch 在數(shù)據(jù)處理中的關(guān)鍵功能,包括數(shù)據(jù)聚合、查詢自動(dòng)補(bǔ)全以及與數(shù)據(jù)庫(kù)的同步問(wèn)題。 首先,我們將聚焦于 ElasticSearch 強(qiáng)大的聚合功能,解釋什么是聚合以及如何通過(guò) DSL 語(yǔ)句和 RestClient 實(shí)現(xiàn)各種聚合操作。這一功能能夠讓我們更深入地了

    2024年02月08日
    瀏覽(28)
  • elasticsearch7.5.2 數(shù)據(jù)遷移解決方案

    elasticsearch7.5.2 數(shù)據(jù)遷移解決方案

    1. 遷移舊數(shù)據(jù) a. 查看ES數(shù)據(jù)文件掛載目錄位置 容器內(nèi)路徑: /usr/share/elasticsearch/data 如果沒(méi)有掛載,需要將/usr/share/elasticsearch/data 壓縮后,文件拷到宿主機(jī)上 bash # docker cp [容器名稱:文件路徑] [宿主機(jī)路徑] b. 將data.tar.gz 上傳至B服務(wù)器 遷移es數(shù)據(jù)文件至B服務(wù)器 /root 下 新增

    2024年02月12日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包