Команда Manticore Search выпустила версию 27.1.5 - крупнейшее обновление за последние несколько циклов разработки. Релиз охватывает путь от 25.0.1 до 27.1.5 и приносит встроенную аутентификацию, шардирование, диалоговый поиск и серьёзно переработанный векторный движок. Это уже не точечные улучшения - это переосмысление того, чем Manticore хочет быть.
Безопасность внутри, а не снаружи
Главная архитектурная новость - встроенная аутентификация и авторизация. Раньше контроль доступа ложился на плечи инфраструктуры вокруг базы данных. Теперь пользователи, пароли, bearer tokens и гибко настроенные права работают прямо внутри движка - через MySQL, HTTP/HTTPS и при репликации.
Важный нюанс для тех, кто обновляется: по умолчанию аутентификация отключена. Но стоит её активировать - анонимный доступ прекращается мгновенно. Разработчики советуют включать её поэтапно: сначала обновить удалённые агенты и узлы репликации, и только потом - главные узлы. Смешивать версии в топологии не стоит.
Шарды из коробки и разговор с индексом
Manticore наконец получил нативное шардирование. Движок сам распределяет вставки по шардам и управляет жизненным циклом таблиц. Это снимает с разработчика груз логики, которую раньше приходилось реализовывать на уровне приложения. Для проектов с высокой нагрузкой на запись - ощутимый шаг вперёд.
Параллельно появился диалоговый поиск через команды CREATE CHAT MODEL и CALL CHAT. Механика проста и элегантна: Manticore запускает KNN по векторному полю, собирает контекст из исходных столбцов, хранит историю по conversation_uuid и возвращает ответ вместе с источниками. Те, кто уже хранит эмбеддинги в движке, получают полноценный Q&A-слой без внешней оркестровки. Кстати, если вы следите за тем, как поисковые решения внедряются в индустрии данных, стоит взглянуть на шанхай шэньхуа - там тоже активно применяют аналитические инструменты для работы с большими объёмами структурированной информации.
Векторный движок прибавил в скорости
KNN и HNSW планомерно ускорялись на протяжении всего цикла. Ключевые вехи:
- 25.1.0 - улучшен расчёт расстояний и загрузка AVX-512
- 25.2.0 - поддержка локальных эмбеддингов ONNX, дополнительный прирост скорости
- 25.14.0-25.15.0 - многопоточная сборка HNSW
- 27.1.5 - исправлено падение при получении columnar-атрибутов float_vector
Практический итог: начальные сборки KNN, слияние чанков и ALTER TABLE REBUILD KNN теперь работают заметно быстрее. Для больших векторных таблиц это не косметика - это реальная экономия времени при обслуживании индекса.
Мелочи, которые на деле важны
За громкими фичами скрывается длинный хвост полезных дополнений. Команда searchd --check проверяет конфигурацию до запуска - звучит как мелочь, но сберегает нервы при деплое. EXIT CLUSTER позволяет вывести узел из репликации без перезапуска. Новый dict=keywords_32k закрывает боль с длинными токенами вроде хешей и идентификаторов, которые раньше молча обрезались. Прибавился встроенный украинский лемматизатор - расширение нативной морфологии, которое давно ждали.
Всего с прошлого релиза закрыто 65 багов. Среди исправлений - корректная работа offset и max_matches в KNN-запросах по doc_id, починенный порядок пересчёта при явных ORDER BY, стабилизация репликации при повторном присоединении узла. Движок стал заметно надёжнее - и это, пожалуй, важнее любой новой команды.