[0.9.0]### Добавлено
- Добавлен Ingest V2 (#5600, #5566, #5463, #5375, #5350, #5252, #5202)
- Добавлен SQS источник (#5374, #5335, #5148)
- Отключение проверки control plane для searcher (#5599, #5360)
- Частичная реализация
_elastic/_cluster/health
(#5595)
- Дополнительная конвертация атрибутов Jaeger в теги (#5574)
- Использование
content_length_limit
для ограничения ES bulk (#5573)
- Ограничение и мониторинг использования памяти при warmup (#5568)
- Добавление метрик вытеснения в кэши (#5523)
- Запись задержек запросов к объектному хранилищу (#5521)
- Добавление ограничений на janitor для предотвращения перегрузки (#5510)
- Предотвращение переплетения одиночных поисковых запросов из разных
leaf_search
(#5509)
- Перезапуск при внутренней ошибке S3 (#5504)
- Разрешение указания OTEL индексного ID в заголовке (#5503)
- Добавление метрики для подсчета ошибок хранения и их кодов (#5497)
- Поддержка объединенных полей (#4773, #5369, #5331)
- Добавление гистограмм количества разбиений на корневые/листовые поиски (#5472)
- Введение опции конфигурации searcher для установки таймаута get запросов (#5467)
- Добавление отпечатка задачи в состоянии кластера (#5464)
- Улучшение корневых/листовых поисковых спанов с количеством документов и разбиений (#5450)
- Добавление дополнительных метрик поиска (#5447)
- Улучшение устойчивости сборки мусора и добавление метрик (#5420)
- Включение принудительного завершения с помощью 2-го Ctrl+C (#5414)
- Добавление конфигурации request_timeout_secs для конфигурации searcher (#5402)- Кэширование S3 клиента (#5377)
- Добавление дополнительной конфигурации переменных окружения для Postgres (#5365)
- Включение быстрых запросов диапазона для str (#5324)
- Разрешение запросов к несуществующим полям (#5308)
- Поддержка обновления doc mapper через API (#5253)
- Добавление специального обработчика для шестнадцатеричных чисел в токенизаторе кода (#5200)
- Введение слоя размыкания (#5134)
- Различные оптимизации производительности в Tantivy (https://github.com/quickwit-oss/tantivy/blob/main/CHANGELOG.md)
Изменено
- Парсинг дат и времени с начальным и/или конечным пробелом (#5544)
- Ограничение периода зрелости на срок хранения (#5543)
- Ожидание слияния в конце локального импорта (#5542)
- Логирование ошибок метастора PostgreSQL (#5530)
- Обновление политики multipart Azure (#5553)
- Остановка зависимости от собственной версии pulsar-rs (#5487)
- Обработка вложенных значений OTLP в атрибутах и телах логов (#5485)
- Улучшение завершения конвейера слияния (#5475)
- Разрешение неудачных разделов в корневом поиске (#5440)
- Пакетное удаление из GC (#5404, #5380)
- Сделать некоторые ошибки S3 повторяемыми (#5384)
- Изменение стандартных меток времени в OTEL логах (#5366)
- Возврат только корневых трасс для HTTP API Jaeger (#5358)
- Поделиться лимитом агрегации на узле (#5357)
Исправлено
- Исправлены запросы существования для вложенных полей (#5581)
- Исправлена опция lenient с запросами wildcard (#5575)
- Исправлено несовместимое форматирование дат ES Java (#5462)- Исправлен порядок ответа API bulk (#5434)
- Исправлен финализатор Pulsar (#5471)
- Исправлена схема URI Pulsar (#5470)
- Исправлен дашборд поиска Grafana (#5455)
- Исправлен HTTP-конечный пункт Jaeger (#5378)
- Исправлены перезагрузки файлов после EOF (#5330)
- Исправлен путь источника в Lambda distrib (#5327)
- Исправлена интерполяция конфигурации (#5403)
- Исправлена ошибка парсинга продолжительности Jaeger (#5518)
- Исправлена конвертация единиц измерения в HTTP-конечном пункте поиска Jaeger (#5519)### Удалено
- Удалена поддержка двухзначных годов в парсере дат Java (#5596)
- Удалено свойство DocMapper trait (#5508)
[0.8.1]
Исправлено
- Исправлена ошибка в сериализации сообщений чат-бота (chitchat#144)
[0.8.0]
Добавлено- Удаление шумных логов (#4447)
-
Добавлены ES API /{index}/_stats
и /_stats
(#4442)
-
Использование search_after
в ES scroll API (#4280)
-
Добавлена поддержка исключения wildcard в шаблонах индексов (#4458)
-
Добавлена поддержка символа .
в идентификаторах DSL (#3989)
-
Добавлен ES API cat indices (#4465)
-
Ограничение параллельных слияний (#4473)
-
Добавлен Index Template API и автоматическое создание индекса (#4456) (доступно только с ingest V2)
-
Добавлена поддержка сжатых запросов ES _bulk
(#4506)
-
Добавлена поддержка символа /
в названиях полей (#4510)
-
Обработка сигнала завершения SIGTERM (#4539)
-
Добавлены фильтры start_timestamp
и end_timestamp
для ES _field_caps
API (#4547)
-
Ограничение количества параллельно запускаемых слияний (#4574)
-
Добавлена поддержка параметров запроса _source_excludes
и _source_includes
в ES API (#4572)
-
Добавлен слой метрик gRPC для клиентов и серверов (#4591)
-
Добавлены дополнительные метрики кластера (#4597)
-
Добавлен параметр запроса индексных шаблонов на конечной точке GET /indexes
(#4600)
-
Добавлена поддержка метастора, основанного на файлах GCS (#4604)
-
Добавлены по умолчанию поля поиска для индекса OTEL traces (#4602)
-
Добавлена поддержка удаления индекса в ES API (#4606)
-
Добавлен обработчик для динамического изменения уровня логирования (#4662)
-
Добавлен REST-конечный пункт для парсинга запроса в AST запроса (#4652)
-
Добавлена поддержка индекса PostgreSQL и использование IN
вместо многих OR
(#4670)
-
Добавлена поддержка _source_excludes
, _source_includes
, extra_filters
в _msearch
ES API (#4696)- Обработка track_total_size
в теле запроса ES (#4710)
-
Добавлена метрика для количества индексов (#4711)
-
Добавлены различные оптимизации производительности в Quickwit и Tantivy. Дополнительные сведения в журнале изменений tantivy.### Исправлено
-
Исправлено агрегирование результата для пустого индекса (#4449)
-
Исправлено исходное Gzip-файла (#4457)
-
Ограничение частоты шумных логов (#4483)
-
Предотвращение переполнения экспоненциального отклика после 64 попыток (#4501)
-
Удаление присутствия поля в ES _field_caps
API (#4492)
-
Удаление параметра source
в ES, удаление не поддерживаемого поля fields
в ответе (#4590)
-
Исправлено параметр split_size
агрегации, добавлены документация и тест (#4627)
-
Разные исправления в chitchat (gossip): более подробная информация в истории коммитов chitchat
-
Разные исправления в mrecordlog (WAL): более подробная информация в истории коммитов mrecordlog
Изменено
Удалено
Миграция с 0.7.x на 0.8.0
Чтобы развернуть Quickwit 0.8.0, вам необходимо либо:
-
остановить ваш кластер полностью перед развертыванием, либо
-
перезапустить все узлы вашего кластера после развертывания.
Поскольку мы внесли некоторые несовместимые изменения в протокол gossip (chitchat), узлы, работающие с разными версиями Quickwit, не могут общаться друг с другом и выключаются при получении сообщений, которые не соответствуют их версии выпуска. Новый протокол теперь версионирован, и будущие обновления протокола gossip будут совместимы в обратном направлении.## [0.7.1]
Добавлено
- Добавлено API _count ES (#4410)
- Добавлено API _elastic/_field_caps (#4350)
- Добавлено настраиваемое размер сообщения gRPC (#4388)
- Добавлено конечное точка API для получения внутренней информации управления (#4339)
- Добавлено реализация Google Cloud Storage доступна для путей хранения, начинающихся с
gs://
(#4344)
Изменено
- Возвращение Yöntem 404 при отсутствии индекса в ES Bulk API (#4425)
- Разрешение символов $ и @ в именах полей (#4413)
Исправлено
- Исправлено присвоение всех источников/шардов, даже если это требует превышения лимита индексера (#4363)
- Исправлено отображение документного отображения трасс (имя службы установлено как fast) и обновлено значение по умолчанию для ID индекса otel logs до
otel-logs-v0_7
(#4401)
- Исправлено разбор многострочных запросов (#4409)
- Исправлено запрос диапазона для опционального быстрого поля приводит к панике с ошибкой Index out of bounds (#4362)
Миграция с версии 0.7.0 на 0.7.1
Quickwit 0.7.1 создаст новый индекс otel-logs-v0_7
, который теперь используется по умолчанию при внесении данных с помощью OTEL gRPC и HTTP API.
В индексе трасс otel-traces-v0_7
поле service_name
стало быстрым. Если индекс otel-traces-v0_7
уже существует, миграция не выполняется. Если вы хотите, чтобы поле service_name
было быстрым, вам нужно сначала удалить существующий индекс otel-traces-v0_7
или создать свой собственный индекс.## [0.7.0]
Добавлено
- Elasticsearch-совместимый API
- Добавлены API
scroll
и search_after
, а также поддержка запросов поиска по нескольким индексам
- Добавлены запросы
exists
, multi_match
, match_phrase_prefix
, match_bool_prefix
, bool
- Добавлен API
_field_caps
- Добавлена поддержка OTLP через HTTP API (только Protobuf) (#4335)
- Добавлены Jaeger REST-конечные точки для поддержки трассировки в Grafana (#4197)
- Добавлена поддержка внедрения пользовательских HTTP-заголовков и перемещение параметров конфигурации REST в раздел конфигурации REST (#4198)
- Добавлена поддержка OTLP-данных трасс в произвольных источниках
- Коммит Kafka-смещений при
truncate suggest
(#3638)
- Учет параметра
auto.offset.reset
в источнике Kafka (#4095)
- Добавлена оптимизация точного подсчета (#4019)
- Добавлены gRPC-конечные точки для разделения потока (#4109)
- Добавлен кэш разделов в Searchers (#3857)
- Добавлены опции
coerce
и output_format
для числовых полей (#3704)
- Добавлены
PhraseMatchQuery
и MultiMatchQuery
(#3727)
- Добавлен Elasticsearch-совместимый
TermsQuery
(#3747)
- Добавлен источник GCP PubSub (#3720)
- Парсинг строковых меток времени (#3639)
- Добавлен новый вкус Digital Ocean (#3632)
- Добавлены новые токенизаторы:
source_code_default
, source_code
, multilang
(#3647, #3655, #3608)
Исправлено
- Исправлены даты в UI (#4277)
- Исправлены дублирующиеся разделы, планируемые при сбое и перезапуске конвейера (#3854)
- Исправлены сортировки (#3799)
Дополнительные детали в changelog tantivy здесь.### Изменено
-
Улучшено конфигурирование индекса OTEL трасс (#4311)
- OTEL конечные точки теперь используют по умолчанию индексы
otel-logs-v0_7
и otel-traces-v0_7
вместо otel-logs-v0_6
и otel-traces-v0_6
- Индексы OTEL имеют больше полей, сохраненных как "быстрые", и имеют поля байтов Trace и Span ID в шестнадцатеричном формате
-
Увеличены предельные значения gRPC-загрузки с 10MiB до 20MiB (#4227)
-
Отклонение некорректных запросов Elasticsearch API (#4175)
-
Улучшена логирование при неудачной обработке документов (#4323)
-
Улучшена производительность поиска
-
Улучшена производительность индексации
Удалено
Миграция с Yöntem 0.6.x на 0.7
Формат индекса и внутренних объектов, хранящихся в метасторе версии 0.7, обратно совместим с версией 0.6.Если вы используете индексы OTEL и загружаете данные в индексы otel-logs-v0_6
и otel-traces-v0_6
, вам необходимо остановить индексацию перед обновлением.
Действительно, при первом запуске Quickwit 0.7 он автоматически обновит поля документного отображения Trace ID и Span ID этих двух индексов, изменяя их форматы ввода/вывода с base64 на hex. Это автоматический процесс: вам не нужно выполнять какие-либо ручные операции.
Quickwit 0.7 создаст новые индексы otel-logs-v0_7
и otel-traces-v0_7
, которые теперь используются по умолчанию при загрузке данных с помощью OTEL gRPC и HTTP API. Jaeger gRPC и HTTP API по умолчанию будут запрашивать как otel-traces-v0_6
, так и otel-traces-v0_7
.
Возможно определить ID индекса, который вы хотите использовать для OTEL gRPC конечных точек и Jaeger gRPC API, установив заголовок запроса qw-otel-logs-index
или qw-otel-traces-index
на ID индекса, который вы хотите использовать.## [0.6.1]
Добавлено
- Поддержка запросов с префиксом фразы на языке запросов.
Исправлено
- Исправлено поле
timestamp
, которое не разрешалось при определении в отображении объекта.
- Исправлено запросование целых чисел на JSON-поле (никакие документы не возвращались).
[0.6.0] - 2023-06-03### Добавлено
- Совместимость с Elasticsearch/Opensearch API.
- Новый колонный формат:
- Быстрые поля теперь могут иметь любую кардинальность (необязательные, многозначные, ограниченные). В действительности, кардинальность используется только для форматирования вывода.
- Динамические поля теперь являются быстрыми полями.
- Строковые быстрые поля теперь могут быть нормализованы.
- Различные параметры объектных хранилищ теперь могут быть настроены.
- API загрузки позволяет заставлять произвести коммит или ждать запланированного коммита.
- Возможность парсинга не-JSON данных с использованием VRL для извлечения структуры из документов.
- Объектное хранилище теперь может использовать стиль
virtual-hosted
.
- Агрегация
date_histogram
.
- Агрегация
percentiles
.
- Поддержка префиксного фразового запроса.
- Поддержка запросов диапазона.
- Язык запросов теперь поддерживает различные форматы дат.
- Поддержка конфигурации base16 для полей байтов. Вы можете искать по полям байтов, используя base16-кодированные значения.
- Автоматическое добавление тегов: поля, используемые в ключе разделения, автоматически добавляются в теги.
- Добавлен образ Docker для архитектуры arm64.
- Добавлена конфигурация CORS для REST API.
Исправлено
- Основное исправление ошибки, требующее перезапуска quickwit при удалении и пересоздании индекса с тем же именем.- Теперь ограничивается количество одновременных GET-запросов к объектным хранилищам. Это исправляет ошибку, наблюдаемую при запросе большого количества документов из MinIO.
- Quickwit теперь выполняет поиск в атрибутах ресурсов при получении запроса Jaeger с тегами.
- Объектное хранилище можно настроить для:
- избегания Bulk delete API (обход для Google Cloud Storage).
- использования виртуальных адресов в стиле хоста (обход для Alibaba Object Storage Service).
- Исправлена ошибка слияния при пустом
doc_count
в агрегации.
- Исправлен порядок сортировки для агрегаций по терминам.
- Переключение на миллисекунды в гистограмме для типа данных (соответствие с ES).### Улучшения
- Улучшение производительности поиска.
- Улучшение производительности агрегаций.
- Улучшение использования памяти для агрегаций.
Более подробно в журнале изменений Tantivy.
Изменено
- Время теперь имеет точность до наносекунд.
- По умолчанию Quickwit использует имя хоста узла как узловое ID.
- По умолчанию Quickwit находится в динамическом режиме, и все динамические поля помечены как быстрые поля.
- Поле JSON по умолчанию использует сырой токенизатор и устанавливается как быстрое поле.
- Разные улучшения производительности/сжатия.
- ОТЭЛ индексы Trace ID и Span ID теперь являются полями байтов.
- ОТЭЛ индексы хранят временные метки с точностью до наносекунд.
- Статус pan теперь индексируется в ОТЭЛ индексе трейсов.
- По умолчанию и сырой токенизаторы фильтруют токены длиной более 255 байт вместо 40 байт.
[0.5.0] - 2023-03-16### Добавлено
- Поддержка gRPC OpenTelemetry Protocol для трейсов
- Поддержка gRPC OpenTelemetry Protocol для логов
- Управление (планирование задач индексации)
- Ограничитель скорости для API инжекта
- Источник Pulsar
- Преобразование VRL для источников данных
- Улучшенная REST API для полного управления индексами, источниками и разделами
- Описание OpenAPI и интерфейс Swagger для всех доступных REST конечных точек
- Возможность сжатия больших ответов от REST API
- Добавлен метод bulk stage splits в метаданные
- Бинарный файл для MacOS M1
- Поле отображения, начинающееся с
_
, теперь допустимо### Исправлено
- Исправлено завершение индекса на странице поиска
- Исправлено описание индекса в CLI для отображения статистики опубликованных разделов
- Исправлено REST API для возврата всегда тела ошибки в формате
{"message": "error message"}
- Исправлены коды состояния REST при удалении несуществующего индекса, источника и при получении разделов несуществующего индекса
Изменено
- Схема конфигурации источника (разрыв или нет? использование serde rename для того, чтобы это не было разрывом)
- RocksDB заменен на mrecordlog для хранения записей очередей API инжекта
- (Разрыв) Новый DSL для ключа партиционирования индекса
- (Разрыв) Обновлен Helm-чарт с новым CLI
- (Разрыв) Команды CLI для индексов, источников и разделов используют REST API
- (Разрыв) Новый формат индекса: вам нужно переиндексировать все ваши данные
[0.4.0] - 2022-12-03
Добавлено
- Логические поля, поля даты и времени, и поля адреса IP
- Токенизатор для китайского языка
- Распределенное индексирование (только для Kafka)
- gRPC-сервер метаданных
- Партиционирование индекса
- Kubernetes
- Шаблонирование конфигурации узла
- Метрики Prometheus
- Политики хранения
- REST API для CRUD-операций над индексами/источниками
- Поддержка Azure Blob Storage
- Поддержка BM25 для оценки документов
- Поддержка удалений
- Поддержка смещения в запросах фраз
- Поддержка выделения### Исправлено
- Исправлены пропуски кэша во время фазы поиска документов
- Исправлены утечки учетных данных в URI метаданных
- Исправлены проблемы масштабируемости сборки мусора
- Исправлена поддержка многоканальных источников
Изменено
-
Изменен размер блока по умолчанию для docstore на 1 МБ и алгоритм сжатия на ZSTD
-
Quickwit теперь использует sqlx вместо Diesel для взаимодействия с PostgreSQL.
Перемещение с версии 0.3 должно работать так, как ожидается. Однако перемещение с более ранних версий не поддерживается.
Удалено
- Удалена поддержка i64 как поля временной метки
- Удалена поддержка сортировки индекса по полю
Безопасность
- Запрещен доступ к путям с
..
на уровне хранения
[0.3.1] - 2022-06-22
Добавлено
- Поддержка Google Cloud Storage
- Сортировка результатов поиска по временной метке по умолчанию в UI поиска
- Атрибут
description
для отображения полей
- Отображение состояния раздела в выводе команды
quickwit split list
Исправлено
- Очистка локального кэша разделов после удаления индекса
- Исправление URL API для копирования и вставки в UI
- Исправление пользовательского конечного узла S3 с завершающим
/
- Исправление команды
quickwit index create
с опцией --overwrite
[0.3.0] - 2022-05-31
Добавлено
- Встроенный UI для отображения результатов поиска и состояния кластера
- Схема индексации без схемы с JSON-полем
- API инжекта (совместимый с Elasticsearch)
- Запросы агрегации
- Поддержка Amazon Kinesis### Исправлено
- Переключение алгоритма членства кластера с S.W.I.M. на Chitchat
Удалено
[0.2.1] - 2022-02-28
Добавлено
- Валидация запроса по схеме индекса перед отправкой на листовые узлы (#1109, @linxGnu)
- Поддержка пользовательского конечного адреса S3 (#1108)
- Параллельное разогревание терминов и быстрых полей (#1147)
Исправлено
- Мелкий баг в потоке поиска на листовых узлах (#1110)
- По умолчанию URI корневого индекса и метаданных корректно устанавливаются в каталог данных (#1140, @ddelemeny)
Удалено
- Переменная окружения QW_ENV
Безопасность
- Скомпилированные бинарники с Rust 1.58.1, что исправляет CVE-2022-21658
[0.2.0] - 2022-01-12
[0.1.0] - 2021-07-13
Опубликовать ( 0 )