0

elasticsearch-rails在 Rails 5 中使用 gem,我正在尝试增加max_clause_count. 我正在使用7.3ElasticSearch 版本。

在我的 elasticsearch.yml 文件中,我添加了以下代码:

indices.query.bool.max_clause_count: 4096

在我的初始化程序中,我像这样加载配置:

config = {
  host: "http://localhost:9200",
  transport_options: {
    request: { timeout: 200 }
  }

}


if File.exists?("config/elasticsearch.yml")
  config.merge!(YAML.load_file("config/elasticsearch.yml").symbolize_keys)
end

Elasticsearch::Model.client = Elasticsearch::Client.new(config)

我仍然可以使用我的一个相当长的查询来重现此错误,当我这样做时,在加载上面的配置后,我仍然收到错误:

{"type":"too_many_clauses","reason":"maxClauseCount is set to 1024"}

将配置打印到终端我得到这个输出:

{:host=>"http://localhost:9200", :transport_options=>{:request=>{:timeout=>200}}, :"indices.query.bool.max_clause_count"=>4096}
4

1 回答 1

0

我不想问这个,但以防万一这是问题,这是一个静态的 Lucene 设置,它只能在 Elasticsearch 配置文件中设置并在启动时获取。更改配置后是否重新启动集群?

于 2019-09-28T08:19:12.743 回答