Изменения в 7.6
В этом разделе обсуждаются изменения, о которых необходимо помнить при миграции вашего приложения в Elasticsearch 7.6.
См. также Что нового в 7.17 и Заметки о выпуске.
Изменения в области безопасности
Привилегии ключей API Elasticsearch
Если вы используете ключ API для создания другого ключа API (иногда называемого производным ключом), его поведение изменяется из-за исправления CVE-2020-7009.
При запросе на создание ключей API вы можете указать срок действия и привилегии ключа API. Ранее, при создании производного ключа, он не имел привилегий. Это поведение игнорировало любые привилегии, которые вы указали в API создания ключа API.
Начиная с 7.6.2, это поведение изменяется. Для создания производного ключа необходимо явно указать дескриптор роли без привилегий:
...
"role_descriptors": {
"no-privilege": {
}
}
... Изменения в поиске
Агрегирование и сортировка по полю _id устарели
Возможно агрегирование и сортировка по встроенному полю _id путем загрузки дорогостоящей структуры данных fielddata. Эта функция устарела в 7.6 и будет запрещена по умолчанию в 8.0. В качестве альтернативы, содержимое поля _id можно продублировать в другое поле с включенными docvalues (обратите внимание, что это не относится к автоматически сгенерированным идентификаторам).
Устаревание разреженных векторных полей
Тип поля sparse_vector устарел и будет удален в 8.0. Мы не наблюдали большого интереса к этому экспериментальному типу поля и не видим явного целесообразного применения в его текущем дизайне. Если у вас есть отзывы или предложения по функциональности разреженных векторных полей, пожалуйста, сообщите нам об этом через GitHub или форумы discuss.
Обновление сигнатур функций векторов
Функции векторов в формате function(query, doc['field']) устарели, и вместо них следует использовать формат function(query, 'field'). Например, cosineSimilarity(query, doc['field']) заменяется на cosineSimilarity(query, 'field').
Запрет использования имен токенизаторов nGram и edgeNGram
Имена токенизаторов nGram и edgeNGram устарели с 7.6. Определения для индексов, созданных после 7.6, будут продолжать работать, но будут выводить предупреждение об устаревании. Имя токенизатора следует изменить на полностью эквивалентные имена ngram или edge_ngram для новых индексов и шаблонов индексов.
© 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.6.html