ElasticCloud: как настроить настройку уровня кластера [search.max_buckets]? - PullRequest
0 голосов
/ 24 февраля 2020

Мы использовали ElasticSearch 6.X, развернутый на моем собственном сервере. Мы недавно мигрировали в облаке. Таким образом, используется версия 7.X. У нас огромный запрос с агрегатами, который работал на 6.X, но этот запрос больше не работает. Это происходит из-за критических изменений между версиями.

https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html#breaking_70_aggregations_changes

search.max_buckets в кластере settingedit Динамический c кластерный параметр с именем search.max_buckets теперь по умолчанию 10 000 (вместо неограниченного в предыдущей версии). Запросы, которые пытаются вернуть больше лимита, завершатся с ошибкой.

Поэтому, когда мы выполняем запрос с агрегатами, у нас возникает исключение:

"type" : "search_phase_execution_exception",
"reason" : "all shards failed",
"phase" : "query",
"grouped" : true,
"failed_shards" : [
  {
    "shard" : 0,
    "index" : "xxxxxxx",
    "node" : "xxxxxxxxxxxxxxxx",
    "reason" : {
      "type" : "too_many_buckets_exception",
      "reason" : "Trying to create too many buckets. Must be less than or equal to: [10000] but was [10001]. This limit can be set by changing the [search.max_buckets] cluster level setting.",
      "max_buckets" : 10000
    }
  }

У нас нет время изменить запрос, так как мы можем настроить параметр в ElasticCloud? Или я могу добавить параметр в запрос?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 24 февраля 2020
...