Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Руководство по миграции

Миграция на 7.10

В этом разделе обсуждаются изменения, о которых необходимо помнить при миграции вашего приложения на Elasticsearch 7.10.

См. также Что нового в 7.17 и Примечания к выпуску.

  • Изменения в аутентификации
  • Изменения в Java
  • Изменения в сети
  • Изменения в поиске
  • Устаревшие кластеры
  • Устаревшие индексы
  • Устаревшие функции машинного обучения
  • Устаревшие карты
  • Устаревшие функции создания и восстановления снимков

Существенные изменения

Следующие изменения в Elasticsearch 7.10 могут повлиять на ваши приложения и помешать их нормальной работе. Перед обновлением до 7.10 ознакомьтесь с этими изменениями и выполните описанные шаги, чтобы смягчить их влияние.

Существенные изменения, внесенные в мажорных версиях, обычно ограничиваются вопросами безопасности и исправлениями ошибок. Значительные изменения в поведении устаревают в мажорном выпуске, а старое поведение поддерживается до следующего мажорного выпуска. Чтобы узнать, используете ли вы какие-либо устаревшие функции, включите ведение журнала устаревших функций.

Изменения в аутентификации

Ключи API теперь требуют свойство name.

Подробности
Свойство name теперь требуется для создания или предоставления ключа API.

{
    "...": "...",
    "api_key": {
      "name": "key-1"
    }
}

Последствия
Чтобы избежать ошибок, укажите свойство name при создании или предоставлении ключей API.

Изменения в Java

Метод MappedFieldType#fielddataBuilder теперь принимает аргумент Supplier<SearchLookup>.

Подробности
Для поддержки будущих разработок функций существующий метод MappedFieldType#fielddataBuilder теперь принимает новый аргумент Supplier<SearchLookup>.

Последствия
Если вы разрабатываете или поддерживаете плагин маппера, обновите свою реализацию метода MappedFieldType#fielddataBuilder, чтобы она соответствовала новой сигнатуре.

Изменения в сети

Настройки *.tcp.keep_idle и *.tcp.keep_interval теперь ограничены 300 секундами.

Подробности
Настройки {network,transport,http}.tcp.keep_idle и {network,transport,http}.tcp.keep_interval теперь имеют максимальное значение 300 секунд, что эквивалентно 5 минутам.

Последствия
Если они указаны, убедитесь, что настройки {network,transport,http}.tcp.keep_idle и {network,transport,http}.tcp.keep_interval не превышают 300 секунд. Установка значений {network,transport,http}.tcp.keep_idle или {network,transport,http}.tcp.keep_interval выше 300 секунд в elasticsearch.yml приведет к ошибке при запуске.

Изменения в поиске

Настройка index.max_docvalue_fields_search теперь ограничивает поля значений документов, возвращаемых inner_hits или агрегацией top_hits.

Подробности
Настройка index.max_docvalue_fields_search ограничивает количество полей значений документов, получаемых при поиске. Ранее эта настройка применялась только к полям значений документов, возвращаемых параметром docvalue_fields в поиске верхнего уровня. Теперь настройка также применяется к полям значений документов, возвращаемым блоком inner_hits или агрегацией top_hits.

Последствия
Если вы используете inner_hits или агрегацию top_hits, убедитесь, что index.max_docvalue_fields_search настроено правильно для вашего случая использования.

Устаревшие функции

Следующие функции устарели в Elasticsearch 7.10 и будут удалены в 8.0. Хотя это не окажет немедленного влияния на ваши приложения, мы настоятельно рекомендуем обновить код после обновления до 7.10, выполнив описанные шаги.

Значительные изменения в поведении устаревают в мажорном выпуске, а старое поведение поддерживается до следующего мажорного выпуска. Чтобы узнать, используете ли вы какие-либо устаревшие функции, включите ведение журнала устаревших функций.

Устаревшие кластеры

Настройка cluster.join.timeout устарела.

Подробности
Установка узла cluster.join.timeout устарела и будет удалена в 8.0. В кластерах 7.x попытки присоединения больше не отменяются по истечении времени.

Последствия
Чтобы избежать предупреждений об устаревании, прекратите использование этой настройки.

Устаревшие индексы

Доступ к системным индексам через REST API устарел.

Подробности
Мы устарели доступ к системным индексам через REST API. Большинство запросов REST API, которые пытаются получить доступ к системным индексам, вернут следующее предупреждение об устаревании:

this request accesses system indices: [.system_index_name], but in a future
major version, direct access to system indices will be prevented by default

Следующие конечные точки REST API обращаются к системным индексам в рамках своей реализации и не вернут предупреждение об устаревании:

  • GET _cluster/health
  • GET {index}/_recovery
  • GET _cluster/allocation/explain
  • GET _cluster/state
  • POST _cluster/reroute
  • GET {index}/_stats
  • GET {index}/_segments
  • GET {index}/_shard_stores
  • GET _cat/[indices,aliases,health,recovery,shards,segments]

Последствия
Чтобы избежать предупреждений об устаревании, не используйте недопустимые REST API для доступа к системным индексам.

Устаревшие функции машинного обучения

Параметры API allow_no_jobs и allow_no_datafeeds устарели.

Подробности
Параметры allow_no_jobs и allow_no_datafeeds в API машинного обучения устарели в пользу allow_no_match. Старые параметры все еще принимаются API, но при использовании старых имен параметров в теле или в качестве параметра запроса выдается предупреждение об устаревании. Классы высокоуровневого клиента REST теперь отправляют новый параметр allow_no_match.

Последствия
Чтобы избежать предупреждений об устаревании, используйте параметр allow_no_match.

Устаревшие карты

Параметр boost в картах полей устарел.

Подробности
Усилители индексов устарели с версии 5.x, но по-прежнему можно объявлять усилители полей в картах. Теперь это также устарело и будет полностью удалено в 8.0.0. Карты с усилителями полей будут продолжать работать в 7.x, но будет выдаваться предупреждение об устаревании.

Последствия
Настройка boost должна быть удалена из шаблонов и карт. Используйте усилители напрямую в запросах.

Устаревшие функции создания и восстановления снимков

API статистики репозитория устарел.

Подробности
API статистики репозитория был представлен как экспериментальный API в 7.8.0. Теперь API измерения репозиториев заменяют API статистики репозитория. API статистики репозитория устарел и будет удален в 8.0.0.

Последствия
Используйте API измерения репозиториев. Прекратите использование API статистики репозитория.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/migrating-7.10.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API