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

Другие вопросы по тегам