gpt4 book ai didi

elasticsearch - 如何使用过滤器查询优化 Elasticsearch aggs

转载 作者:行者123 更新时间:2023-12-02 22:41:21 25 4
gpt4 key购买 nike

当我尝试运行此查询时,elasticsearch无法回答,并且发生大量缓存逐出(与字段缓存有关)。

我不想在此查询中缓存任何字段,因为这是一个分析查询,我每天只运行一次。有什么办法可以在不使用字段缓存的情况下获取此摘要。我尝试了doc值,但需要45秒或更长时间。请期待您的建议。

HEAP内存:30GB
ES版本1.3.1
索引大小:350 GB

{  
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"type": "161"
}
},
{
"term": {
"cat": "Math"
}
}
]
}
}
}
},
"aggs": {
"tepo": {
"terms": {
"field": "tepo"

}
}
}
}

最佳答案

您将需要使用doc值或字段数据缓存,否则将无法进行聚合。由于此查询不是很频繁,因此建议对该查询禁用过滤器缓存。

   "filter" : {
"term" : {
"cath" : "Math",
"_cache" : false
}
}

这样就不会生成过滤器位集缓存,您可以在上面保存一些内存。
链接- http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-term-filter.html#_caching_18

另一种方法是限制主存储器中的字段数据高速缓存的数量,这样您就可以确保字段数据高速缓存不会超出主存储器的范围。
链接- http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_limiting_memory_usage.html

关于elasticsearch - 如何使用过滤器查询优化 Elasticsearch aggs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27645230/

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