搜索设置
编辑搜索设置
编辑可以设置以下专家设置来管理全局搜索和聚合限制。
-
indices.query.bool.max_clause_count
-
[8.0.0] 在 8.0.0 中已弃用。 (静态, 整数) 此已弃用设置无效。
Elasticsearch 现在将动态设置查询中允许的最大子句数量,使用基于搜索线程池大小和分配给 JVM 的堆大小的启发式方法。此限制的最小值为 1024,在大多数情况下会更大(例如,具有 30GB RAM 和 48 个 CPU 的节点的最大子句计数约为 27,000)。较大的堆会导致更高的值,而较大的线程池会导致较低的值。
应尽可能避免使用大量子句的查询。如果您之前为了适应繁重的查询而提高了此设置,则可能需要增加 Elasticsearch 可用的内存量,或者减少搜索线程池的大小,以便每个并发搜索都有更多的内存可用。
在 Lucene 的先前版本中,您可以通过将布尔查询相互嵌套来绕过此限制,但是该限制现在基于整个查询中叶查询的总数,并且此解决方法将不再起作用。
-
search.aggs.only_allowed_metric_scripts
-
(动态, 布尔值) 配置是否仅允许在脚本化指标聚合中使用显式允许的脚本。默认为
false
。使用未包含在
search.aggs.allowed_inline_metric_scripts
或search.aggs.allowed_stored_metric_scripts
中的脚本的请求将返回错误。
-
search.aggs.allowed_inline_metric_scripts
-
(动态, 字符串列表) 当
search.aggs.only_allowed_metric_scripts
设置为true
时,可以在脚本化指标聚合中使用的内联脚本列表。默认为空列表。使用其他内联脚本的请求将返回错误。
-
search.aggs.allowed_stored_metric_scripts
-
(动态, 字符串列表) 当
search.aggs.only_allowed_metric_scripts
设置为true
时,可以在脚本化指标聚合中使用的存储脚本的 ID 列表。默认为空列表。使用其他存储脚本的请求将返回错误。
-
indices.query.bool.max_nested_depth
-
(静态, 整数) 查询的最大嵌套深度。默认为
30
。此设置限制查询的嵌套深度。深度嵌套查询可能会导致堆栈溢出错误。