我在弹性搜索中有一个非常大的术语查询,所以我得到了
too_many_clauses: maxClauseCount is set to 1024
我尝试在elasticsearch.yml中增加它
index:
query:
bool:
max_clause_count: 10240
Run Code Online (Sandbox Code Playgroud)
并通过
curl -XPUT "http://localhost:9200/plastic/_settings" -d '{ "index" : { "max_clause_count" : 10000 } }'
Run Code Online (Sandbox Code Playgroud)
但没有任何效果.我的索引名为plastic.
And*_*fan 10
index.query.bool.max_clause_count在indices.query.bool.max_clause_count集群的每个节点的文件中.当然,重启节点(配置文件中的任何更改都需要重启).
小智 5
这也可以通过更新elasticsearch.yml文件(弹性安装的config文件夹内)中的配置来实现。
indices.query.bool.max_clause_count:4096
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您希望elasticsearch.yml在云部署中对云文件进行更改,请参阅添加 Elasticsearch 用户设置,了解实现此操作所需遵循的步骤以及允许您进行的更改。但请注意,您在云部署中可以更改的设置是有限的。
如果您想要对本地集群进行更改,您可以直接在elasticsearch.yml位于“ elasticsearch-xxx/config/elasticsearch.yml ”的文件中进行更改,只需向该文件添加一行所需的设置即可。例如,如果您想indices.query.bool.max_clause_count将其默认值 1024 更改为 4096,您可以将indices.query.bool.max_clause_count: 4096行添加到您的elasticsearch.yml文件中。
请记住,indices.query.bool.max_clause_count默认值是 1024,尽管elasticsearch.yml确实明确包含一行说明该值,但它会采用 1024 作为默认值。因此,更改此值的唯一方法是显式添加行“ indices.query.bool.max_clause_count: 4096 ”。通过包含此行并在自己的文件中指定您的首选值,您最终修改了集群的elasticsearch.yml值“ indices.query.bool.max_clause_count ”。
下图显示了如何将此行附加到示例elasticsearch.yml文件:
添加此行并将更改保存到elasticsearch.yml文件后,启动 Elasticsearch,然后启动 Kibana(如果您使用 Kibana 与 ES 交互)。您可以通过运行以下命令来验证您的设置:GET /_cluster/settings/?include_defaults在 Kibana 中或curl -XGET "http://localhost:9200/_cluster/settings/?include_defaults"在命令行中。然后,在命令的输出中查找max_clause_count以验证值indices.query.bool.max_clause_count
| 归档时间: |
|
| 查看次数: |
19543 次 |
| 最近记录: |