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

Миграция на 7.11

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

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

  • Изменения в машинном обучении
  • Изменения в REST API
  • Изменения в поиске
  • Изменения в трансформации
  • Устаревшие функции транспорта

Изменения, требующие корректировок

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

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

Изменения в машинном обучении

Параметр API обученных моделей for_export теперь переименован в exclude_generated.

Подробности
API получения обученных моделей больше не принимает for_export. Используйте exclude_generated вместо него.

Изменения в REST API

REST API, которые не используют тело запроса, теперь возвращают ошибку, если тело запроса предоставлено.

Подробности
Несколько REST API Elasticsearch не используют тело запроса. В предыдущих версиях вы могли предоставить тело запроса при вызове этих API, и Elasticsearch игнорировал бы это тело. Теперь эти API возвращают ошибку, если вы предоставляете тело запроса, даже если оно пустое.

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

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

Поля типа «ключевое слово» с пользовательским нормализатором будут использовать нормализованную форму при выделении ключевых слов.

Подробности
Выделители теперь используют ту же структуру для загрузки своих значений, что и раздел fields ответа поиска. Это означает, что нормализация будет применена к значениям поля типа «ключевое слово»; например, поле, настроенное с нормализатором «нижний регистр», вернет выделенные фрагменты в нижнем регистре.

Внутренние поля, используемые для ускорения поиска текста, скрыты.

Подробности
Поля типа «текст» могут добавлять внутренние подполя с дополнительным анализом для ускорения поиска по префиксам и фразам. Ранее они были доступны в API поля и доступны для прямого поиска. Однако они не реализовывали все типы запросов и могли возвращать некорректные результаты или выбрасывать ошибки, если использовались через DSL запроса. Теперь эти подполя являются внутренними и не могут вызываться в качестве поисковых полей в запросах.

Агрегация значимого текста теперь возвращает ошибку, если применена к числовому полю.

Подробности
Агрегация значимого текста ранее могла применяться к полям, определенным как числовые, что не имело смысла и всегда возвращало пустой результат. Учитывая, что применение агрегации, специфичной для текста, к не текстовому полю почти наверняка является ошибкой, теперь это приведет к ошибке.

Изменения в трансформации

Трансформации теперь записывают group_by даты в виде строк.

Подробности
Трансформации теперь записывают даты, используемые в group_by, в формате строковых значений ISO вместо epoch_millis. Ранее созданные трансформации по-прежнему будут использовать epoch_millis. Вы можете настроить и изменить формат вывода в настройках трансформации.

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

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

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

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

Система свойств es.unsafely_permit_handshake_from_incompatible_builds устарела.

Подробности
Система свойств es.unsafely_permit_handshake_from_incompatible_builds теперь устарела.

Elasticsearch проверяет, что пары узлов одной версии работают с одной сборкой и используют один и тот же формат протокола. Вы можете обойти эту проверку, задав es.unsafely_permit_handshake_from_incompatible_builds значение true. Пропуск этой проверки небезопасен и не рекомендуется.

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

© 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.11.html

Spec-Zone.ru

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