【发布时间】:2020-08-08 15:06:21
【问题描述】:
我有一个应用程序,允许用户在高基数字段上执行聚合。不幸的是,这种聚合可能非常缓慢。对于一个基数为 400 万的特定字段,需要 7 秒。
这样的聚合不会产生有用的结果。我想快速终止它们,只为那个特定的聚合返回一条错误消息,上面写着“太多的值”。
这可能吗?
ElasticSearch 确实支持一些断路器:https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html,但我没有看到适用于包含多个聚合的更大查询中的单个聚合的断路器。另外,这些适用于内存使用情况,而不是执行速度。
【问题讨论】:
-
需要返回错误吗?不能只限制大小吗?
-
@AlkisKalogeris 大小已经有限。执行仍然需要 7 秒。我想提前终止执行以加快查询速度。
-
您可以在您的应用程序上设置此聚合的超时时间。您使用的是哪个客户端?
标签: elasticsearch elasticsearch-aggregation