Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›Заметки о выпуске

Версия Elasticsearch 7.16.0

См. также Изменения в 7.16.

Устаревшие элементы

Выделение
  • Улучшение проверок устаревания отметки воды для узла с одним процессором #80824 (задача: #80817)
Аутентификация
  • Добавление проверки API устаревания информации для настройки SAML nameid_format #77276 (задачи: #42404, #44090)
Координация кластера
  • Добавление проверки API устаревания для cluster.join.timeout #76944 (задача: #42404)
Гео
  • Добавление проверок устаревания для параметров geo_shape #76627 (задачи: #42404, #70850)
ILM+SLM
  • Добавление информации об устаревании и предупреждений для пустого _tier_preference #79305 (задача: #76147)
  • Добавление логирования устаревания и API информации об устаревании для заморозки ILM #77969 (задачи: #42404, #70192)
API индексов
  • Добавление проверки устаревания замороженного индекса #78915 (задача: #70192)
  • Устаревание параметра ignore_throttled #77479 (задача: #70192)
  • Вывод предупреждения при поиске в замороженном индексе #78184 (задача: #70192)
Инфраструктура/Регистрация
  • Изменение уровня регистрации устаревания по умолчанию на CRITICAL #77030 (задача: #76754)
  • Регистрация устаревших записей включена по умолчанию #78991 (задачи: #76292, #78850)
  • Возможность регистрации устаревших настроек на уровне, не являющемся критическим #79107 (задачи: #77482, #78781)
  • REST API для сброса кэша индексирования устаревания #78392 (задача: #78134)
  • Добавление поля категории в журналы устаревания #77550 (задача: #67443)
Инфраструктура/Сценарии
  • Сценарий: Устаревание кэша контекста сценария #79508 (задача: #62899)
Java REST-клиент высокого уровня
  • Добавление заголовков устаревания в классы HLRC #79754
Машинное обучение
  • Устаревание estimated_heap_memory_usage_bytes и замена на model_size_bytes #80545
Мониторинг
  • Устаревание параметров мониторинга #79499
  • Устаревание настройки create_legacy_templates экспортеров HTTP #78564
  • Устаревание настроек приема мониторинга #77659 (задача: #77459)

Известные проблемы

  • Painless: Любой сценарий Painless, где вызов метода разрешает аргумент лямбды в тип UnaryOperator или тип BinaryOperator, приводит к ошибке IllegalArgumentException. Эта ошибка приводит к ошибке компиляции при использовании статических типов или к ошибке выполнения для динамических типов. В качестве обходного решения используйте стандартные процедурные инструкции, такие как операторы if/else, while и for.

    Следующий пример — тип UnaryOperator, который приведет к ошибке:

    List l = ['abc', '123']; l.replaceAll(f -> f.replace('abc', 'doremi');

    Следующий пример — возможное обходное решение:

    List l = ['abc', '123'];
    for (int i = 0; i < l.size(); ++i) {
        l.set(i, l.get(i).replace('abc', 'doremi'));
    }
  • Разбор запроса, когда последний элемент массива отфильтрован (например, с помощью _source_includes), приводит к ошибке. Это связано с ошибкой в парсере Jackson. Исправлено в Elasticsearch 8.6.1 (#91456)
  • Устаревшая настройка index.mapper.dynamic может нарушить работу кластера. Ее можно установить только с помощью API Update index settings. Симптомы включают отказ узлов от запуска или отказ фрагментов от распределения. Не используйте эту настройку в версиях до 7.17.22. Ошибка исправлена в 7.17.22. (задача: #109160)

Новые возможности

Потоки данных
  • API для добавления и удаления индексов из потока данных #79279 (задача: #75852)
EQL
  • Введение повторяющихся запросов #75082
  • Уточнение повторяющихся запросов #78895 (задача: #75082)
Машинное обучение
  • Многокорзинный агрегирование по категориям текста/логов #71752
SQL
  • Добавление возможности выполнения CCS через запросы SQL #78903
Поиск
  • Профилирование фазы извлечения #77064 (задача: #75892)

Улучшения

Агрегации
  • Добавлена поддержка агрегации показателей скорости в рамках составной агрегации #76992 (задача: #76988)
  • Прерывание фазы уменьшения агрегации, если задача поиска отменена #71714 (задача: #71021)
  • Добавлена проверка устаревания параметра матрицы смежности #77802 (задача: #46327)
Распределение
  • Замена RoutingTable#shardsWithState(...) на RoutingNodes#unassigned(...) #78931 (задача: #77466)
  • Повторное использование локального узла в ответах асинхронного извлечения фрагментов #77991 (задача: #77266)
Аудит
  • Добавление UUID кластера и его имени в журналы аудита #79401 (задача: #72408)
Аутентификация
  • Удаление проверки HTTPS для API-ключей и учетных записей служб #76801
Авторизация
  • Добавление прав к kibana_system для обновления скрытых индексов конечной точки #80140
  • Разрешение учетной записи службы fleet-server на настройку Fleet #78192 (задача: #78078)
  • Предоставление дополнительных прав для индексов преобразования конечной точки kibana_system #79619
  • Предоставление прав, необходимых для обновления пакета, kibana_system #78049 (задача: #77294)
  • Оптимизация настройки FLS/DLS в IndicePermission authz #77832
  • Пропуск загрузки авторизованных индексов, если они не нужны для запросов #78321
  • Быстрый путь суперпользователя для indexAccessControl #78498
  • Обновление прав доступа к целевому индексу преобразования для kibana_system #79076
  • Использование фиксированного распределения памяти в IndicesPermission #77748
  • Добавление соответствующих разрешений для сервера Fleet для индекса ответа конечной точки #80231
  • Миграция пользовательских поставщиков ролей в лицензированную функцию #79127
CCR
  • Добавление описания к запросу действия изменения фрагментов #80275 (задача: #79311)
Координация кластера
  • Добавление статистики сериализации состояния кластера #78816
  • Добавление статистики по времени процесса публикации #76771 (задача: #76625)
  • Получение горячих потоков на отстающих узлах #78879
  • Улучшение сообщения об ошибке при переходе с 8.x на 7.x #78644 (задача: #78638)
  • Улучшение ведения журнала в LeaderChecker #78883
  • Упоминание «порогового значения предупреждения» в медленном журнале службы мастера #76815 (задача: #76625)
  • Переиспользование страниц, используемых исходящими публикациями #77407 (задача: #77317)
  • Повторное использование предыдущего поиска индексов, когда это возможно #79004 (задачи: #77888, #78980)
  • Проверка подключений PING и STATE во время присоединения #77741
Составные агрегации
  • Поддержка _first и _last упорядочивания пропущенных значений в составных агрегациях #76740 (задачи: #34550, #63523)
Потоки данных
  • Более точное сообщение об ошибке для потока данных и псевдонима #79027 (задачи: #58327, #66163)
Распределённые
  • Добавление API поиска Fleet для ожидания обновлений #73134 (задача: #71449)
  • Добавление поддержки замены в CancellableSingleObjectCache #80199
EQL
  • Последовательности теперь будут поддерживать наносекундные метки времени #76953 (задача: #68812)
Двигатель
  • Применение оболочки читателя к источнику can_match #78988
  • Включение оптимизации сортировки в изменениях Lucene запроса #77907
  • Учёт максимального размера сегмента при установке only_expunge_deletes при принудительной слиянии #77478 (задачи: #61764, #77270)
Гео
  • Добавить поддержку агрегации метрик к конечной точке mvt #78614 (задача: #77072)
  • Включить свойство _index для каждого совпадения в ответе _mvt #77995 (задача: #77205)
  • Добавить поддержку track_total_hits в API mvt #78074 (задача: #77222)
ILM+SLM
  • Улучшить разбор LifecycleExecutionState #77855 (задача: #77466)
  • Снизить количество раз, когда LifecycleExecutionState анализируется при запуске политики #77863 (задача: #77466)
  • Добавить встроенные политики ILM для распространённых сценариев использования пользователей #76791
  • Разрешить установку общего количества фрагментов на узел в действии Allocate ILM #76134
Индексы API
  • Fleet: Добавить action_response в отображение .fleet-actions-results #79584
  • Сохранить отображения шаблонов индексов в виде байтов для сериализации на диск #78746
  • Разрешить построение поиска индексов ленивым способом #78745 (задача: #77466)
Инфраструктура/Ядро
  • Добавить необязательную проверку содержимого в ResourceWatcher #79423
  • Добавить учёт времени в HotThreads #79392
  • Добавить обратные вызовы подготовки и завершения апгрейда к SystemIndexPlugin #78542
  • Кэшировать настройку index.hidden #78612 (задача: #77974)
  • Включить учёт времени ожидания/блокировки #77935 (задача: #72376)
  • Обрабатывать пустой файл /proc/self/cgroup #78659 (задача: #77833)
  • Реализовать фреймворк для миграции системных индексов #78951
  • Требовать от описателей системных индексов наличие определенного суффикса #78355
  • Поддержка типа mem в API узлов hot_threads #72850 (задача: #70345)
  • Использовать поле перечисления для типа отчёта HotThreads #77462
Инфраструктура/Жизненный цикл узла
  • Включить завершение работы при ошибке недостатка памяти #71542
Инфраструктура/Скрипты
  • Добавить структуру данных подклассов напрямую в поиск Painless #76955
  • Добавить возможность дополнять классы полями из других классов в Painless #76628
  • Добавить динамическое (утиное) разрешение типов в статические типы Painless #78575
  • Добавить метод поиска в Painless для поиска методов всех подклассов #77044
  • Конвертер типов полей UnsignedLong #77271
  • Сбор истории удаления из кэша/компиляции метрик show #78257 (задача: #62899)
Инфраструктура/Настройки
  • Добавить команду show в CLI хранилища ключей #76693 (задача: #57261)
  • Фильтрация сообщений API о устаревании настроек, основываясь на настройке #78725
Инжест
  • Добавить кэш узлов обогащения #76800 (задача: #48988)
  • Добавить проверку настроек конвейеров индексов при удалении конвейера #77013
  • Разрешить использование типов диапазонов для соответствия обогащения #76110
  • Поддержка ECS для обработчика Grok #76885 (задача: #66528)
  • Улучшение поиска в кэше для снижения повторного вычисления/поиска #77259
  • Сделать выполнение политики обогащения отменяемым #77188 (задача: #48988)
  • Оптимистичный контроль конкуретности для обновления конвейеров инжеста #78551 (задача: #77031)
  • Синхронизация шаблонов обработчика Grok с Logstash #76752
  • Обновление конвейера инжеста без изменений — это не операция #78196 (задача: #77382)
Java Высокоуровневый REST клиент
  • Добавить поддержку заголовков совместимости rest для HLRC #78490 (задача: #77859)
Лицензия
  • Добавить атрибут семейства лицензий в отслеживание использования функций #76622
  • Добавить утилиту для отслеживания лицензированных постоянных задач #76672
  • Отделить отслеживание использования функций для FLS и DLS #79152
  • Использовать лицензированную функцию на тип сферы (+custom) #78810
Машинное обучение
  • Добавить новый normalize_above параметр к эвристике значимых терминов p_value #78833
  • Добавить новый фильтр символов по умолчанию first_line_with_letters для категоризации машинного обучения #77457
  • Добавить новый defer_definition_decompression параметр для размещения API обученной модели #77189 (проблема: #77132)
  • Включить ML на macOS на ARM #78203
  • Отслеживать использование функций для анализа фреймов данных, вывода и задач выявления аномалий #76789
  • Ускорить обучение регрессионных и классификационных моделей #2024
  • Улучшить конкурентность обучения регрессионных и классификационных моделей #2031
  • Улучшить аспекты реализации правила skip_model_update #2053
  • Обеспечить, чтобы инструмент регистрации фиксировал лучшие найденные гиперпараметры для обучения классификационных и регрессионных моделей https://github.com/elastic/ml-cpp/pull/2057{#2057}
Сопоставление
  • Более информативное сообщение об ошибке для длинных ключей в сплюснутых полях #80433 (проблема: #78248)
  • Добавить параметр time_series_metric #76766 (проблема: #74014)
  • Добавить параметр сопоставления измерений #74450 (проблема: #74014)
Мониторинг
  • Удалить проверку лицензии для хранения данных мониторинга #79010
Упаковка
  • Переключиться на базовый образ Docker Ubuntu #80640
  • Использовать zlib от Cloudflare в образах Docker #81245 (проблема: #81208)
  • Использовать almalinux в качестве базового образа Docker #80524 (проблема: #76681)
Восстановление
  • Добавить поддержку восстановления узлов с помощью снимков после отказов первичного узла #77420 (проблема: #73496)
  • Учитывать файлы поколений в recoveryDiff #77695 (проблемы: #55142, #55239)
  • Ограничить одновременные восстановления файлов снимков при восстановлении на узел #79316 (проблема: #79044)
Поиск
  • Добавить поля метаданных _ignored и _routing в API полей #78981 (проблемы: #75836, #78828)
  • Добавить поля метаданных _index и _version в API полей #79042 (проблемы: #75836, #78828)
  • Добавить возможность получения _id через опцию полей #78828 (проблема: #75836)
  • Добавить запросы API к возможностям полей на уровне узла #79212 (проблемы: #74648, #77047, #78647)
  • Добавить сортировщик сегментов для потоков данных #75195
  • Добавить оптимизацию сортировки с помощью after из Lucene #64292
  • Не всегда переписывать запрос Lucene в фазах поиска #79358
  • Расширить сортировщик сегментов для всех индексов временных рядов #78639 (проблема: #75195)
  • Уровень узла может соответствовать действию #78765
  • Поиск - возвращать проигнорированные значения полей из API полей #78697 (проблема: #74121)
  • Поддержка кэша запросов на уровне замороженного уровня #77694 (проблема: #75309)
  • Использовать пул потоков search_coordination для запросов API возможностей полей #79378 (проблема: #79212)
  • Создать хэш sha-256 ключа кэша запроса фрагмента #74877 (проблема: #74061)
Безопасность
  • Добавить extensionName() к расширению безопасности #79329
  • Оптимизировать StringMatcher для шаблонов match-all #77738
  • CreateApiKey ответ теперь возвращает базовый64-кодированные учетные данные #77351 (проблема: #50235)
Снимок/Восстановление
  • Добавить фильтрацию по политике SLM для получения API снимков #77321
  • Добавить сортировку по количеству фрагментов и количеству не удавшихся фрагментов в API получения снимков #77011
  • Добавить описания к различным задачам #76700
  • Добавить службу технического обслуживания для очистки неиспользуемых документов в кэше блоков снимков #77686
  • Добавить периодическую задачу технического обслуживания для очистки неиспользуемых документов кэша хранилища блоков #78438 (вопрос: #77686)
  • Фильтр неиобходимых SnapshotInfo экземпляров на ранней стадии TransportGetSnapshotsAction #78032 (вопрос: #74350)
  • Реализовать шаблоны исключения для имен снимков и репозиториев в API получения снимков #77308
  • Реализовать сортировку по имени репозитория в API получения снимков #77049
  • Реализовать параметр from_sort_value в API получения снимков #77618
Статистика
  • Добавить статистику прикладного модуля кластера #77552
  • Ограничить количество HTTP-каналов с отслеживаемой статистикой #77303
  • Ускорить вычисление состояния кластера #78969 (вопрос: #77466)
  • Обработка cgroups v2 в OsProbe #77128 (вопросы: #76812, #77126)
Преобразование
  • Добавить поле _meta в TransformConfig #79003 (вопрос: #77506)
  • Добавить метод для сбора устаревших данных из конфигурации преобразования #77565
  • Добавить конечную точку обновления преобразования #77566
  • Сократить индексы для запросов на основе контрольных точек #75839
  • Реализовать возможность предварительного просмотра существующего преобразования #76697 (вопрос: #76427)

Исправления ошибок

Агрегации
  • Добавить дополнительный цикл обращений к тестам агрегаций #79638 (проблема: #73680)
  • Исправить агрегацию по скорости с пользовательским _doc_count #79346 (проблема: #77734)
  • Исправить несколько потенциальных утечек разрыва цепи в агрегаторах #79676
  • Масштабировать двойные значения до чисел с плавающей точкой при необходимости, чтобы соответствовать полю #78344 (проблема: #77033)
  • Поддержка имён агрегаций с точками в пути первого элемента агрегации по схеме #77481
Распределение
  • Сделать оператор disk.threshold_enabled только оператором #78822 (проблема: #77846)
Авторизация
  • Улучшить предоставление разрешений для индекса, на который ссылаются несколько имён #78902
  • Усилить поведение ключей API с DLS и несовместимой лицензией #78378
API CAT
  • Настроить _cat/templates, чтобы не запрашивать всю метаданные #78829
CCR
  • Очистить ошибки автоматического слежения при удалении шаблона #80544 (проблема: #77723)
CRUD
  • Используйте параметр запроса вместо системной переменной для включения нового кода состояния кластера #79351 (проблемы: #70849, #78940)
Координация кластера
  • Избегайте раннего выпуска запросов локального форкинга #77641 (проблемы: #77407, #77634)
  • Проверяйте наличие глобальных блокировок после IndexNotFoundException в TransportMasterNodeAction #78128 (проблема: #70572)
  • Улучшите контроль жизненного цикла исходящих соединений #77295 (проблема: #67873)
  • Удаляйте только активных пиров при сбое соединения #79557 (проблемы: #77295, #79550)
  • Сократите слияние в PersistedClusterStateService #79793 (проблема: #77466)
CompositeAggs
  • Исправить тесты агрегаций по составу, которые завершались сбоем после #76740 #77691 (проблемы: #76740, #77650)
  • Отменить 74559 (Избегайте глобальных порядковых номеров в составе) #78846 (проблемы: #74559, #78836)
Потоки данных
  • Добавить дублированное поле для получения ответа API потока данных #80988 (проблема: #118899)
  • Исправить проверку записи индекса и увеличения поколения на всех операциях индекса поддержки потока данных #79916
  • Исправить ошибку потока данных, из-за которой он переходит к несуществующему индексу #79759
  • Исправить ошибку IndexNotFoundException при обработке действия удаления псевдонима #80312
  • Исправить проверку псевдонима потока данных #81040 (проблема: #80972)
Распределённые
  • Исправить API поиска Fleet без контрольных точек #79400
  • Изменить URL-адреса поиска Fleet, чтобы избежать конфликтов URL-адресов #79776
EQL
  • Добавить необязательные поля и ограничить соединение ключей только на ненулевых значениях #79677
Гео
  • Исправить ошибку фильтрации коллинеарных точек на вертикальных линиях #81155 (проблемы: #59501, #81076)
  • Сферическая проекция Меркатора должна корректно обрабатывать широты, выходящие за пределы #81145 (проблема: #81128)
  • Векторные карты: Добавить значение корзины ключа в уровень агрегации #79634 (проблема: #79585)
ILM+SLM
  • Предотвратить создание дубликатов обновлений состояния кластера ILM #78390 (проблемы: #77466, #78246)
  • Выполнять остановки ILM и SLM обновлений состояния кластера с приоритетом IMMEDIATE #80207 (проблема: #80099)
  • Проверить существование репозитория снимков для политик ILM при GenerateSnapshotNameStep #77657 (проблема: #72957)
API индексов
  • API получения шаблонов не поддерживают списки #78989 (проблема: #78829)
Инфра/Ядро
  • Избегайте ложных предупреждений о устаревании при вызове API информации об устаревании #78151 (проблема: #78098)
  • Исправить переполнение/потерю точности в CompositeBytesReference #78893
  • Исправить состояние гонки в API статуса миграции функций #80572 (проблема: #79680)
  • Предотвратить переполнение стека при округлениях #80450
  • Установить LIBFFI_TMPDIR при запуске #80651 (проблемы: #18272, #73309, #74545, #77014, #77053, #77285, #80617)
  • Удалить блоки индексов из настроек для целей переиндексации #80887 (проблема: #80654)
  • Избегать снисходительности при парсинге часовых поясов #77267 (проблемы: #73955, #76415)
  • Исправить парсинг часовых поясов для ingest #63876 (проблема: #63458)
Инфра/Ведение журнала
  • Отключить индексирование журналов устаревания, пока не загружены шаблоны #80406 (проблема: #80265)
Инфра/Настройки
  • Более строгий парсинг UpdateSettingsRequest на уровне REST #79228 (проблема: #29268)
  • Исправить уровень наводнения с системными индексами #80674
Ingest
  • Устранение ошибки утверждения, снижение до исключения - обогащение #79717
  • Исправить ошибку выполнения отсутствующей политики обогащения #80728
Java High Level REST Client
  • Принудительное использование типизированных ключей в асинхронном поиске HLRC #78992 (проблема: #77608)
Machine Learning
  • Устранение потенциальной ошибки сброса функций ML #79179
  • Настройка трекера памяти ML для уменьшения влияния ведения журнала #78482
  • Аудит ошибок открытия задач и остановка соответствующих потоков данных #80665 (проблемы: #48934, #80621)
  • Исправление приемлемых версий моментальных снимков моделей в проверочнике устаревания ML #81060 (проблемы: #79387, #81039, #119745)
  • Исправление согласованности емкости автоматического масштабирования #81181
  • Исправление ошибки в сохранителе статистики вывода для случая вызова сброса функций #77213 (проблема: #77182)
  • Исправление предварительного просмотра потока данных с удаленными индексами #81099 (проблема: #77109)
  • Исправление ошибки определения языка при наличии нескольких языков #80675
  • Исправление сортировки моментальных снимков моделей при сортировке по min_version #80596 (проблема: #80561)
  • Шаблоны индексов ML устаревшего формата, которые больше не нужны, должны быть удалены #80874 (проблема: #80876)
  • Необходимо допускать, что .ml-config является алиасом #80025
  • Действия потока данных родительского типа к постоянной задаче потока данных #81143
  • Ожидание, пока алиас .ml-state-write станет доступным для чтения #79731 (проблема: #79636)
  • Улучшение оценки важности гиперпараметров в аналитике с использованием фреймов данных и предотвращение преждевременной остановки поиска гиперпараметров #2073
  • Исправление числовой неустойчивости в оптимизации гиперпараметров для обучения регрессионных и классификационных моделей #2078
  • Исправление числовой устойчивости в моделировании временных рядов #[2083]
Сопоставление
  • Отключить кэш запросов для полей динамического выполнения #75054
  • Исправление TextFieldMapper Сохранение ссылки на его билдер #77251 (проблема: #73845)
Упаковка
  • Обеспечить, что LIBFFI_TMPDIR экспортируется скриптом инициализации #80794
Восстановление
  • Не выпускать разрешение на загрузку файла моментального снимка во время повторных попыток восстановления #79409 (проблема: #79316)
SQL
  • Исправить NULLS FIRST/LAST для агрегаций #77750 (проблема: #34550)
  • Исправить использование параметров запроса requestTimeout и pageTimeout #79360 (проблема: #72151)
  • Поменять свойства JDBC page.timeout и query.timeout в запросах #79491 (проблема: #79430)
Поиск
  • Минимизировать источник поиска запросов поиска на уровне фрагментов #80634 (проблема: #80187)
  • Предотвратить NullPointerException в SourceConfirmedTextQuery #80472 (проблема: #80419)
  • _terms_enum API index_filter не работает с полем _tier в обновлённом кластере #79553 (проблема: #79200)
  • Вернуть в активное состояние пул потоков автозаполнения #80204
  • Исправление запроса регулярных выражений с подстановочными символами для поля #78839 (проблема: #78391)
Снимок/Восстановление
  • Исправить, чтобы клонирование снимков в очереди не начиналось после выхода из строя узла данных #77111 (проблема: #77101)
  • Исправить временную утечку фрагментированных метаданных на уровне фрагментов в некоторых случаях #76562
  • Исправление после восстановления условного оператора Lucene.pruneUnreferencedFiles() #81047 (проблемы: #68821, #75308)
  • Улучшить обработку повреждённого index.latest фрагмента #77339
  • Отправлять запросы удаления партий GCS по частям #80540
  • Исправление репозитория azure для пустых настроек при перезагрузке #79559
Преобразование
  • Исправление ошибки сброса разрешений функции преобразования #79178
  • Учитывать параметры таймаута во всех API #79468 (проблема: #79268)
Watcher
  • Исправление проверки Watcher, определяющей, когда следует сериализовать параметры индексов #78070 (проблема: #78035)
  • Исправление имитации действия индекса при индексировании нескольких документов #76820 (проблемы: #66735, #74148)

Модернизации

Infra/Core
  • Обновление JNA до 5.10.0 #80617 (проблема: #77014)
Watcher
  • Обновление зависимости owasp-java-html-sanitizer #80806

© 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/release-notes-7.16.0.html

Spec-Zone.ru

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