我在elasticsearch中有一个很大的搜索词查询,所以得到too_many_clauses: maxClauseCount is set to 1024
我试着在elasticsearch.yml中增加它,增量为
index:
query:
bool:
max_clause_count: 10240
和通过
curl -XPUT "http://localhost:9200/plastic/_settings" -d '{ "index" : { "max_clause_count" : 10000 } }'
但是没有任何效果我的索引被命名为塑料。
4条答案
按热度按时间oewdyzsn1#
在Elasticsearch 5中,
index.query.bool.max_clause_count
已被弃用/删除。改为在
elasticsearch.yml
文件中插入indices.query.bool.max_clause_count : n
(其中n -新支持的子句数)。**注意:**此处为文档链接.
vshtjzan2#
背景
***注意:***此答案中给出的建议仅适用于低于5.5的Elasticsearch版本。所描述的方法引用了最终在5.5中删除的属性。
搜索设置
设置
index.query.bool.max_clause_count
已被删除。为了设置布尔子句的最大数目,应改为使用indices.query.bool.max_clause_count
。原始答案
增加以下内容:
到集群的每个节点上的文件
elasticsearch.yml
,然后当然重新启动节点(配置文件中的任何更改都需要重新启动)。fjaof16o3#
这也可以通过更新elasticsearch.yml文件内的配置来实现(在弹性安装的config文件夹内)
dced5bon4#
如果您希望在云部署中更改您的云
elasticsearch.yml
文件,请参阅Add Elasticsearch user settings以了解实现此操作所需遵循的步骤以及允许您进行的更改。但是,请注意,允许您在云部署中更改的设置是有限制的。如果你想对本地集群进行修改,你可以直接在
elasticsearch.yml
文件中进行修改,该文件位于“elasticsearch-x.x.x/config/elasticsearch.yml”,只需在该文件中添加一行所需的设置即可。例如,如果你想将indices.query.bool.max_clause_count
的默认值1024修改为4096,您可以添加行索引.查询.布尔.最大子句计数:4096到您的ElasticSearch.yml文件。请记住,
indices.query.bool.max_clause_count
的默认值是1024,尽管elasticsearch.yml
确实显式包含一行声明此值,但它会将1024作为默认值。因此,更改此值的唯一方法是显式添加一行“indices.query.bool.max_clause_count:4096"。通过在您自己的elasticsearch.yml
文件中包含此行并指定首选值,您最终修改了群集的值“indexs.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
的值