
Выпущена версия Manticore Search 27.1.5.
Текущий релиз включает в себя следующие изменения: встроенная аутентификация и авторизация, шардированные таблицы, диалоговый поиск, более быстрая сборка HNSW, улучшенные фасеты и агрегации, а также длинный список исправлений в областях KNN, репликации, совместимости протоколов и других.
Этот пост — обзор всего, что было выпущено с версии 25.0.1 по 27.1.5.
Примечания к обновлению
Пожалуйста, ознакомьтесь с ними перед обновлением:
В версии 27.0.0 добавили встроенную аутентификацию/авторизацию, и её включение меняет порядок доступа. По умолчанию аутентификация отключена, но после её активации анонимный доступ перестаёт работать. Советуем включать аутентификацию поэтапно: сначала обновите удалённые агенты и узлы репликации, затем — главные узлы, к которым выполняются запросы, и включайте аутентификацию только после того, как вся топология будет на новой версии. Распределённые операции, связанные с агентами, работающими удаленно и репликацией, также требуют синхронизированных данных аутентификации между всеми участвующими демонами. Успешное выполнение
JOIN CLUSTERзаменяет локальные данные аутентификации присоединяющегося узла данными аутентификации донорского узла. (Issue #2833 , PR #3648 )В 26.0.0 изменили формат хранения данных репликации. Теперь реплицируемые таблицы размещаются в обычном каталоге
data_dir/<таблица>вместо пути кластера. Если вы используете кластеры репликации с пользовательским путём, после обновления может потребоваться переместить или повторно синхронизировать реплицируемые таблицы. Откат на предыдущую версию безопасен только до перехода на новую структуру хранения. (Issue #4431 , PR #4598 )Если вы управляете MCL отдельно от демона, обновляйте его вместе с Manticore. В этой серии релизов было несколько обновлений MCL — от работы над производительностью векторов до многопоточной сборки HNSW и последующих исправлений стабильности. Смешивать старую библиотеку с новым демоном не рекомендуется. (25.2.0 , 25.15.0 , 26.0.3 , 26.3.2 , 27.1.0 )
Основные нововведения
Встроенная аутентификация и авторизация
Теперь Manticore поддерживает пользователей, пароли, bearer tokens и гибко настроенные пермиссии для MySQL, HTTP/HTTPS, распределённых удалённых агентов и операций, связанных с репликацией. Это делает контроль доступа неотъемлемой частью продукта, а не чем-то, что всегда нужно обрабатывать вне базы данных.
Шардированные таблицы
Manticore теперь может создавать и управлять шардированными таблицами, распределять вставки по шардам и обрабатывать большую часть сопутствующего жизненного цикла из коробки. Это упрощает эксплуатацию Manticore в крупных проектах с высокой нагрузкой на запись и уменьшает объём логики шардирования, которая должна находиться вне движка.
Диалоговый поиск
В этом релизе в Manticore Search добавлен диалоговый поиск. Он доступен через команды CREATE CHAT MODEL и CALL CHAT, позволяя задавать вопросы поверх существующей векторизованной таблицы, вместо того, чтобы создавать отдельный слой поиска поверх тех же данных.
Под капотом Manticore Search запускает KNN по полю FLOAT_VECTOR, создаёт контекст LLM из столбцов источника этого поля from='...', сохраняет историю диалога по conversation_uuid и возвращает как ответ, так и подтверждающие источники. Если вы уже храните эмбеддинги в Manticore, это значительно упрощает настройку ответов на вопросы по документам и помощников в стиле поддержки.
Более быстрая сборка векторов и улучшения KNN
Векторный поиск постоянно улучшался на протяжении всего цикла разработки.
Мы улучшили производительность KNN, добавили поддержку локальных эмбеддингов ONNX, ускорили вывод ONNX, а затем значительно ускорили сборку и перестройку HNSW за счёт многопоточного построения индекса.
Несколько важных шагов в этой работе:
25.1.0 — улучшен расчёт расстояния KNN и загрузка AVX‑512.
25.2.0 — добавлена поддержка локальных эмбеддингов ONNX в MCL и дополнительно улучшена производительность векторного поиска.
25.14.0 и 25.15.0 — добавлены многопоточные сборки HNSW вместе с необходимой поддержкой со стороны библиотеки MCL.
Самое большое практическое улучшение здесь — значительно более быстрое автоматическое эмбеддинг‑преобразование и сокращение времени сборки и перестройки для больших векторных таблиц. Это затрагивает первоначальные сборки KNN, объединение чанков иALTER TABLE ... REBUILD KNN.
Улучшенные фасеты и агрегации
Расширены возможности фасетов и агрегаций:
facet_filter_mode упрощает создание фильтров каталогов товаров, которые сохраняют выбранные, доступные и недоступные сегменты при активном фильтре.
На стороне аналитики:
date_histogram()получил параметрыtime_zoneиoffsetПоддержка Opensearch Dashboards
Добавили статистические агрегации, такие как процентили, ранги процентилей и MAD
Другие заметные улучшения
В этом релизе также есть несколько небольших, но полезных дополнений:
searchd --checkпроверяет конфигурацию перед запуском.EXIT CLUSTERпозволяет узлу покинуть кластер репликации онлайн без перезапуска.dict=keywords_32kпозволяет индексировать очень длинные автоматически генерируемые токены, такие как хеши и идентификаторы сообщений, без неявного усечения.встроенный украинский лемматизатор расширяет нативную поддержку морфологии для поиска по украинским текстам.
Systemd
Type=notifyулучшает контроль запуска и завершения работы.Manticore под управлением systemd теперь пишет логи в журнал
systemdЗапросы
JOINтеперь поддерживают явные префиксы столбцов левой таблицы.manticore-loadполучил поддержку мультизапросов.
Исправления ошибок
С прошлого релиза внесено 65 исправлений, добавили ещё несколько, заслуживающих упоминания:
27.1.5 — исправлено падение при получении columnar-атрибутов
float_vector.27.1.4 - исправлены
ALTER TABLE ... RECONFIGUREиSHOW CREATE TABLEдля односторонних обновлений сdict='keywords'наdict=keywords_32k.27.1.3 - обновлен Buddy до 4.0.1 и ужесточён контроль прав доступа к операциям изменения данных плагина Queue при аутентификации.
Запросы KNN по
doc_idтеперь корректно сохраняютoffsetиmax_matches.Исправлен порядок пересчёта KNN, поэтому явные разделители связей
ORDER BYснова работают.Запросы в режиме гибридного поиска с
GROUP BYна columnar-таблицах перестали вызывать сбои.Исправлены сбои при репликации и повторном присоединении узла.
Поведение бинарного протокола MySQL было исправлено в версии 25.12.1, что важно для интеграций, где требуется реальная совместимость с клиентом.
Исправлена совместимость с массовой заливкой данных в Fluent Bit, предотвращающая повторную отправку успешных ответов в виде дублирующих вставок.
Исправили
sql_attr_multiдля plain таблиц, собранных из нескольких блоковsource.
Полный список см. в changelog .
Нужна помощь или хотите связаться с нами?
Присоединяйтесь к нашему Slack
Заглядывайте на Forum
Сообщайте о проблемах или предлагайте функции на GitHub
Пишите письма на
contact@manticoresearch.com
