# Manticore Search 25.0.0

Manticore Search 25.0.0 предлагает более простую пакетизацию, новые настройки автоматического создания эмбеддингов, гибридный поиск, предварительную фильтрацию KNN, бэкап с поддержкой S3, более быструю оптимизацию и prepared statements.

Вышел [Manticore Search 25.0.0](/install/). В этой версии мы упростили пакетизацию и добавили важные улучшения в гибридный поиск, векторную фильтрацию, бэкапы, обслуживание RT-таблиц и интеграцию с приложениями.

---

## Примечания по апгрейду

Пожалуйста, ознакомьтесь с ними перед апгрейдом:

- **Требуется MCL 13.0.0**. В Manticore Search 25.0.0 обновлен интерфейс daemon/MCL и добавлены параметры [API_URL](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) и [API_TIMEOUT](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) для моделей эмбеддингов. Если MCL у вас устанавливается отдельно, апгрейдите daemon и MCL одновременно. ([PR #123](https://github.com/manticoresoftware/columnar/pull/123))
- **Кластеры репликации требуют согласованного апгрейда**. Кластеры с разными версиями несовместимы из-за изменений в репликации, внесенных в 24.0.0. Апгрейдите все узлы кластера вместе. ([Issue #4343](https://github.com/manticoresoftware/manticoresearch/issues/4343))
- **Новые параметры токенизации биграмм влияют на даунгрейд**. Если вы перестраиваете индексы с учетом изменений токенизации биграмм, введенных в 23.0.0, такие пересобранные индексы будут несовместимы с более старыми версиями Manticore. ([Issue #4364](https://github.com/manticoresoftware/manticoresearch/issues/4364))
- **Отфильтрованные результаты KNN могут измениться**. Поскольку предварительная фильтрация KNN появилась в 19.0.0, отфильтрованные векторные запросы теперь могут отдавать приоритет ближайшим соседям, которые удовлетворяют фильтру уже во время поиска, а не только после выбора кандидатов. ([Issue #4103](https://github.com/manticoresoftware/manticoresearch/issues/4103))

---

## Пакетизация стала проще

Начиная с версии 25.0.0, `manticore` стал единым пакетом в deb- и rpm-дистрибутивах. В него входят демон, инструменты, конвертер, заголовки для разработки, данные ICU, упакованные зависимости, встроенные языковые пакеты для немецкого, английского и русского языков, а также поддержка Jieba.

Теперь апгрейд в большинстве случаев стал проще: установите `manticore`, и пакет сам подтянет необходимые компоненты. Если старые раздельные пакеты конфликтуют с новой схемой, сначала удалите их командой `apt remove 'manticore*'` или `yum remove 'manticore*'`, а затем установите `manticore`. Ваши существующие данные останутся нетронутыми. В системах на базе `yum` менеджер пакетов может заменить конфигурационный файл, но автоматически сохранит резервную копию предыдущего.

Это важное операционное изменение: оно убирает лишние сложности при установке пакетов и делает установку проще и предсказуемее.

---

## Основные моменты

### Гибридный поиск теперь — полноценная фича

Manticore теперь поддерживает [гибридный поиск](/blog/hybrid-search/), позволяя объединять полнотекстовый и векторный поиск в одном запросе. Это заметно упрощает создание поисковых приложений, сочетающих лексическую точность с семантическим охватом.

Гибридный поиск можно использовать как через SQL, так и через JSON-интерфейсы. В SQL можно комбинировать `MATCH()` с одним или несколькими подзапросами `KNN()`. Для команд, которые строят современные search-решения, это одно из самых заметных нововведений этого релиза.

### Улучшенный векторный поиск с предварительной фильтрацией KNN

Благодаря [предварительной фильтрации KNN](/blog/knn-prefiltering/) фильтры по атрибутам теперь могут применяться прямо во время векторного поиска, а не только после выбора кандидатов. Это особенно важно, когда вам нужны "ближайшие соседи среди документов, которые также соответствуют моему фильтру", а не просто "ближайшие соседи в целом, отфильтрованные уже потом".

Это повышает и релевантность, и предсказуемость таких векторных workload’ов — например, при поиске товаров с ограничениями по категориям, мультитенантном поиске и семантическом поиске с фильтрацией по правам доступа.

### Более быстрое обслуживание RT с параллельным объединением чанков

RT-таблицы Manticore теперь гораздо лучше справляются с интенсивной записью благодаря N-арным объединениям и параллельным задачам `OPTIMIZE`. Подробности мы разобрали в статье [Параллельное объединение чанков](/blog/parallel-chunk-merging/).

Итог проще объяснить, чем реализовать: когда таблица накапливает много дисковых чанков, очистка и компактизация занимают меньше времени, поэтому RT-таблицы лучше работают при постоянной нагрузке на запись.

### Интеграция с приложениями стала проще благодаря prepared statements

Manticore теперь поддерживает prepared statements, совместимые с MySQL; об этом мы рассказывали в статье [prepared statements в Manticore Search](/blog/prepared-statements/). Это улучшает совместимость с MySQL-клиентами, пулами соединений, ORM и фреймворками, которые ожидают поведение бинарного протокола prepare/execute.

Для разработчиков приложений это снимает еще одно ограничение при интеграции и упрощает внедрение Manticore в существующий стек.

### Бэкап и восстановление с поддержкой S3

Операции бэкапа стали гибче благодаря [резервному копированию и восстановлению с поддержкой S3](/blog/s3-streamable-backup/). Manticore Backup поддерживает AWS S3, MinIO, Wasabi и Cloudflare R2, что упрощает отправку резервных копий в объектное хранилище и построение более чистых сценариев восстановления после сбоев.

Это особенно полезно для контейнеризированных и cloud-ориентированных окружений, где локальный диск — временный, а объектное хранилище выступает долговечным слоем хранения.

### Возможности автоматического создания эмбеддингов расширяются

Версия 25.0.0 продолжает недавнюю работу Manticore над автоматическим созданием эмбеддингов. Новая версия MCL добавляет параметры [API_URL](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) и [API_TIMEOUT](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) для моделей эмбеддингов. Кроме того, в последних изменениях появилась поддержка локальных GGUF-моделей с квантованием, кодировщиков T5, ограниченных загрузок из Hugging Face и безопасной репликации обработки эмбеддингов для RT‑таблиц.

В сумме эти изменения делают Manticore более практичным как для локальных конвейеров создания эмбеддингов, так и для развертываний, которые опираются на внешние API моделей.

---

## Другие важные апдейты

Этот релиз также включает **36 исправлений ошибок** в выполнении запросов, репликации, пакетизации для macOS, автоматическом создании эмбеддингов, RT-таблицах и SQL-совместимости.

- Исправлены ложные срабатывания полнотекстового поиска, вызванные прерываниями `max_query_time` в сложных запросах, поэтому запросы, завершившиеся по тайм‑ауту, больше не возвращают строки, которые на самом деле не соответствуют запросу. ([Issue #4375](https://github.com/manticoresoftware/manticoresearch/issues/4375))
- Исправлена репликация транзакций с дублирующимися ID документов, поэтому реплики больше не теряют строки, если донор корректно удаляет дубликаты. ([Issue #4388](https://github.com/manticoresoftware/manticoresearch/issues/4388))
- Исправлено несколько проблем со стабильностью автоматического создания эмбеддингов, включая сбои при генерации эмбеддингов, некорректную обработку UTF-8 и отсутствие RT‑блокировок во время проверки. ([PR #4349](https://github.com/manticoresoftware/manticoresearch/pull/4349), [PR #4370](https://github.com/manticoresoftware/columnar/issues/125), [PR #4371](https://github.com/manticoresoftware/manticoresearch/pull/4371))
- `LEFT JOIN` теперь возвращает корректные значения MySQL `NULL`, а не строку `NULL`, что улучшает совместимость с клиентами и драйверами MySQL. ([Issue #4229](https://github.com/manticoresoftware/manticoresearch/issues/4229))
- Исправлена гонка при сохранении RT-дискового чанка, которая могла приводить к потере удаленных документов и появлению дублирующихся строк после слияний или сохранений. ([Issue #4207](https://github.com/manticoresoftware/manticoresearch/issues/4207))
- Нечеткий поиск теперь работает и в запросах, охватывающих несколько таблиц. ([PR #4372](https://github.com/manticoresoftware/manticoresearch-buddy/pull/648))

---

## Почему 25.0.0 действительно важен

Manticore Search 25.0.0 объединяет изменения в пакетизации с несколькими важными возможностями, которые теперь доступны одновременно:

- гибридный лексический + векторный поиск
- фильтрованный векторный поиск, который работает так, как ожидают пользователи
- более простая интеграция через prepared statements
- бэкапы, удобные для объектных хранилищ
- более быстрое сжатие RT-таблиц
- более гибкие варианты развертывания автоматического создания эмбеддингов

Подробные технические детали см. в [changelog](https://manual.manticoresearch.com/Changelog#Version-25.0.0).

## Нужна помощь или хотите связаться?

- Присоединяйтесь к нашему [Slack](https://slack.manticoresearch.com)
- Заходите на [Форум](https://forum.manticoresearch.com)
- Сообщайте об ошибках и предлагайте новые функции на [GitHub](https://github.com/manticoresoftware/manticoresearch/issues)
- Пишите нам на `contact@manticoresearch.com`
