Elasticsearch - установить max_clause_count
У меня довольно большой запрос по терминам в asticsearch, поэтому я получаю too_many_clauses: maxClauseCount is set to 1024
Я попытался увеличить его в asticsearch.yml
index:
query:
bool:
max_clause_count: 10240
и через
curl -XPUT "http://localhost:9200/plastic/_settings" -d '{ "index" : { "max_clause_count" : 10000 } }'
но ничего не получалось. Мой индекс называется пластиковым.
3 ответа
index.query.bool.max_clause_count: 10240
в elasticsearch.yml
файл каждого узла кластера. И, конечно, перезапустите узлы (любое изменение в файле конфигурации требует перезагрузки).
В Elasticsearch 5 "index.query.bool.max_clause_count" устарел. Вместо этого вставьте в свой файл asticsearch.yml файл "indices.query.bool.max_clause_count: n" (где n - новое поддерживаемое число ключей). Вот ссылка на документацию
Это также может быть достигнуто путем обновления конфигурации внутри файла asticsearch.yml (внутри папки config эластичной установки)
indices.query.bool.max_clause_count:4096
Если вы хотите внести изменения в свое облако elasticsearch.yml
в облачном развертывании, см. раздел Добавление пользовательских настроек Elasticsearch, чтобы узнать о действиях, которые необходимо выполнить для этого, и об изменениях, которые вам разрешено вносить. Однако обратите внимание, что существует ограничение на параметры, которые вам разрешено изменять в облачном развертывании.
Если вы хотите внести изменения в свой локальный кластер, вы можете внести изменения прямо в своем elasticsearch,yml
файл, расположенный в "elasticsearch-xxx / config / elasticsearc.yml", просто добавив в файл строку с требуемой настройкой. Например, если вы хотите изменитьindices.query.bool.max_clause_count
со значения по умолчанию от 1024 до 4096 вы можете добавить строку index.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
файл, вы в конечном итоге изменили значениеindex.query.bool.max_clause_count для вашего кластера.
На следующем изображении показано, как эта строка была добавлена к образцу. elasticsearch.yml
файл:
введите описание изображения здесь
После добавления этой строки и сохранения изменений в вашем elasticsearch.yml
файл, запустите Elasticsearch, а затем Kibana (если вы взаимодействуете с ES с Kibana). Вы можете проверить свои настройки, выполнив команду:GET /_cluster/settings/?include_defaults
в Кибане или curl -XGET "http://localhost:9200/_cluster/settings/?include_defaults"
в вашей командной строке. Затем ищитеmax_clause_count
в выводе команды, чтобы проверить значение indices.query.bool.max_clause_count