gpt4 book ai didi

ElasticSearch circuit_breaking_exception(数据太大)与 significant_terms 聚合

转载 作者:行者123 更新时间:2023-11-29 02:51:24 30 4
gpt4 key购买 nike

查询:

{
"aggregations": {
"sigTerms": {
"significant_terms": {
"field": "translatedTitle"
},
"aggs": {
"assocs": {
"significant_terms": {
"field": "translatedTitle"
}
}
}
}
},
"size": 0,
"from": 0,
"query": {
"range": {
"timestamp": {
"lt": "now+1d/d",
"gte": "now/d"
}
}
},
"track_scores": false
}

错误:

{
"bytes_limit": 6844055552,
"bytes_wanted": 6844240272,
"reason": "[request] Data too large, data for [<reused_arrays>] would be larger than limit of [6844055552/6.3gb]",
"type": "circuit_breaking_exception"
}

索引大小为 5G。集群需要多少内存来执行这个查询?

最佳答案

你可以尝试增加request circuit breaker在您的 elasticsearch.yml 配置文件中限制为 41%(默认为 40%)并重新启动您的集群:

indices.breaker.request.limit: 41%

或者如果您不想重新启动集群,您可以使用以下方式动态更改设置:

curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"indices.breaker.request.limit" : "41%"
}
}'

根据显示的数字(即 "bytes_limit": 6844055552, "bytes_wanted": 6844240272)判断,您只缺少大约 190 KB 的堆,因此增加 1% 至 41%您应该为您的请求断路器获得 17 MB 的额外堆(您的总堆 = ~17GB),这应该足够了。

请确保不要将此值增加得太高,因为请求断路器还与 fielddata 断路器和其他组件共享堆,因此您有发生 OOM 的风险。

关于ElasticSearch circuit_breaking_exception(数据太大)与 significant_terms 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37216300/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com