将默认值设置为 elasticsearch index.max_inner_result_window 参数

Set default value to elasticsearch index.max_inner_result_window parameter

我实际上使用的是 elasticsearch 6.7,但在 ES 中搜索时出现错误:

Top hits result window is too large, the top hits aggregator [instances]'s from + size must be less than or equal to: [100] but was [2147483647]. This limit can be set by changing the [index.max_inner_result_window] index level setting.

我知道如何更改此参数,这不是问题。

我实际上用它来更改 现有 索引的参数:

PUT _all/_settings
{
  "index.max_inner_result_window": "2147483647"
}

但是,elasticsearch 不会更新将来创建的索引。

我的应用程序经常将文档放入新索引中。如果索引不存在,elasticsearch 会创建它。但是,我不想 运行 每次将文档放入索引时都发出此请求。

问题是在将文档放入其中时创建新索引时,它会将此索引的默认值保持为 100。

es.yaml 中有一个参数可以设置默认限制,但是,它似乎已被弃用并且不起作用。

我想要的是 ES 在创建新索引时自动设置整数最大值的限制,而无需 运行每次我将文档放入 ES 时都发出请求。

感谢您的阅读,希望对您有所帮助。

此致, 朱尔斯

您能否尝试像下面这样在 index template 中定义它,以便创建的所有新索引都将具有此设置。

{
    "index_patterns": [
        "*" // note this
    ],
    "template": {
        "settings": {
            "index":{
                "max_inner_result_window": 2147483647
            }
        }
    }
}