Изменения в 7.7
В этом разделе обсуждаются изменения, о которых вам необходимо знать при миграции вашего приложения в Elasticsearch 7.7.
См. также Что нового в 7.17 и Справочные материалы по выпуску.
Устаревшие индексы
Настройки сохранения журнала транзакций устарели.
Настройки индекса index.translog.retention.age и index.translog.retention.size теперь устарели. Эти настройки игнорируются с 7.4 в пользу мягких удалений.
Чтобы избежать предупреждений об устаревании, прекратите использование этих настроек.
Изменения в журналировании
Журнализаторы в org.elasticsearch.action теперь по умолчанию ведут журнал на уровне INFO
Уровень журнала по умолчанию для большинства журнализаторов — INFO, но в более ранних версиях журнализаторы в иерархии org.elasticsearch.action.* по умолчанию выводили сообщения журнала на уровне DEBUG. Это иногда приводило к большому количеству ненужного шума в журнале. Начиная с 7.7, уровень журнала по умолчанию для журнализатора в этой иерархии теперь INFO, в соответствии с большинством других журнализаторов. При необходимости можно восстановить поведение по умолчанию до 7.7, настроив журналирование.
Изменения в схемах
Валидация динамических шаблонов
До сих пор неправильная настройка динамических шаблонов обнаруживалась при индексировании документа с неотображенным полем только. В Elasticsearch 8.0 и более поздних версиях динамические схемы имеют более строгую валидацию, выполняемую во время обновления схемы. Недопустимые обновления, такие как использование неправильных настроек анализаторов или неизвестных типов полей, приводят к ошибке. Для индексов, созданных в Elasticsearch 7.7 и более поздних версиях, обновление выполняется, но выводится предупреждение.
Изменения в настройках
thread_pool.listener.size и thread_pool.listener.queue_size устарели
Поток обработки слушателей больше не используется внутри Elasticsearch. Поэтому эти настройки устарели. Вы можете безопасно удалить эти настройки из конфигурации ваших узлов.
cluster.remote.connect устарел в пользу node.remote_cluster_client
Ранее настройка cluster.remote.connect использовалась для настройки возможности локального узла выступать в качестве удаленного клиента кластера в межкластерном поиске и межкластерной репликации. Эта настройка устарела в пользу node.remote_cluster_client, которая служит той же цели и идентифицирует локальный узел как имеющий роль remote_cluster_client.
Домен аутентификации order станет обязательной конфигурацией в версии 8.0.0.
Конфигурация order будет обязательной в версии 8.0.0 для настройки домена аутентификации любого типа. Если конфигурация order отсутствует для домена, узел не запустится.
Уникальность домена аутентификации order будет обеспечена в версии 8.0.0.
Конфигурация order домена аутентификации должна быть уникальной в версии 8.0.0. Если вы настроите более одного домена любого типа с одинаковым порядком, узел не запустится.
Устаревание настройки пароля мониторинга без шифрования
Настройка auth.password для экспортера мониторинга HTTP устарела и будет удалена в версии 8.0.0. Используйте вместо нее настройку auth.secure_password.
Настройки, используемые для отсрочки восстановления кластера, ожидая определенного количества узлов-мастеров, устарели.
Следующие настройки кластера теперь устарели:
-
gateway.expected_nodes -
gateway.expected_master_nodes -
gateway.recover_after_nodes -
gateway.recover_after_master_nodes
Вы можете безопасно восстановить кластер, как только большинство узлов, имеющих право быть мастерами, присоединятся. Нет никакой пользы в ожидании добавления любых дополнительных узлов, имеющих право быть мастерами.
Чтобы избежать предупреждений об устаревании, прекратите использование устаревших настроек. При необходимости используйте gateway.expected_data_nodes или gateway.recover_after_data_nodes для отсрочки восстановления кластера, ожидая определенного количества узлов данных.
Изменения в поиске
Согласованное округление запросов диапазона для полей date_range
Запросы range для поля date_range в настоящее время могут иметь немного другие границы, чем эквивалентный запрос к чистому полю date. Это может произойти, например, при использовании даты по математической модели или дат, которые не указывают миллисекунды. В то время как запросы к полю date округляют до последних миллисекунд для границ gt и lte, те же запросы к полям date_range этого не делали. Теперь поведение одинаково для обоих типов полей, как описано в Математическая модель даты и округление.
Ошибки валидации агрегации конвейера
Валидация агрегации конвейера была перенесена на узел координации. Ошибки, которые раньше возвращали HTTP 500/Внутренние ошибки сервера, теперь возвращают 400/Ошибка запроса, и теперь мы возвращаем список ошибок валидации, а не первую встретившуюся.
Изменения в подсветке
Ключевые значения, игнорируемые при индексировании, больше не подсвечиваются
Если ключевое значение было проигнорировано при индексировании из-за его длины (применялся параметр ignore_above), Elasticsearch больше не пытается его подсветить, что означает, что для проигнорированных значений не генерируется подсветка.
© 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/breaking-changes-7.7.html