# Manticore Search: итоги 2025

2025 был очень практичным годом для Manticore Search. Мы сосредоточились на прикладных улучшениях: ускорении реальных нагрузок, исправлении продакшен‑багов и постепенном расширении возможностей поиска.

Всем привет!
2025‑й был очень практичным годом для Manticore Search. Много моментов «окей, почему это медленно в продакшене», много исправлений без блеска и постоянное стремление заставить движок делать больше, не превращая ваш стек в научный проект.

### «Большие штуки», которые мы выпустили

- Векторный поиск: варианты индексации, фильтрация, гибридные настройки — то, что понимаешь только после того, как построишь систему ([читать](https://manticoresearch.com/blog/vector-search-deep-dive/))
- Автоэмбеддинги: вставляйте текст, получайте векторы, делайте запросы с `knn()`… без добавления отдельного конвейера эмбеддингов ([читать](https://manticoresearch.com/blog/auto-embeddings/))
- Квантование векторов (и связанные улучшения): более дешёвое хранение, более быстрые запросы, больше настроек, когда они нужны ([читать](https://manticoresearch.com/blog/quantization/))
- Нечёткий поиск: реальный поиск товаров, который не ломается из‑за опечаток ([читать](https://manticoresearch.com/blog/fuzzy-search-101-with-manticore/))
- Автодополнение: просто включить, и достаточно хорошее для выпуска ([читать](https://manticoresearch.com/blog/autocomplete-the-predictive-search/))

### Итоги в цифрах

- 📦 выпущено [12 релизов](https://manual.manticoresearch.com/Changelog)
- 🐞 исправлено 255 багов
- ✨ доставлено 107 функций и улучшений
- ⭐ [звёзд на GitHub](https://github.com/manticoresoftware/manticoresearch) стало на 27% больше по сравнению с прошлым годом
- 📈 активных инстансов стало примерно на 35% больше по сравнению с прошлым годом

Если вам нравятся статистики темпа (нам тоже — немного):

- ~1 исправление бага каждые 1,4 дня
- ~1 функция/улучшение каждые 3,4 дня
- в среднем — примерно одно значимое изменение в день

То, что действительно имело значение (для нас и, надеемся, для вас):

### Производительность

- Вторичные индексы для JSON, чтобы быстрее фильтровать JSON‑насыщенные документы (плюс `secondary_index_block_cache`, если вы на них реально опираетесь)
- Пакетирование JOIN‑ов для заметного ускорения JOIN‑запросов
- [Квантование векторов](https://manticoresearch.com/blog/quantization/) (и друзья: рескоринг/оверсэмплинг, изменения хранения) для более дешёвого и быстрого [векторного поиска](https://manticoresearch.com/blog/vector-search-deep-dive/)
- Автоматический сброс RT‑дисковых чанков на диск — плюс лучшее логирование и наблюдаемость — чтобы производительность не проседала незаметно под нагрузкой

### Удобство использования

- [Автоматическая генерация эмбеддингов](https://manticoresearch.com/blog/auto-embeddings/) (одна из тех «наконец» функций)
- [Скролл‑пагинация](https://manticoresearch.com/blog/pagination/) для больших наборов результатов без странных ухищрений
- [Нечёткий поиск](https://manticoresearch.com/blog/fuzzy-search-101-with-manticore/) и [автодополнение](https://manticoresearch.com/blog/autocomplete-the-predictive-search/), которые можно просто включить
- Китайская токенизация на базе [Jieba](https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Languages_with_continuous_scripts) (потому что без правильного сегментирования вы получаете «почему это не совпало» и «почему это совпало вот с этим»)
- Встроенный [экспортёр Prometheus](https://manual.manticoresearch.com/Node_info_and_management/Node_status#Node-status) (и `/metrics`, который отдаёт настоящий Prometheus‑текст, а не JSON)
- Поддержка [JOIN](https://manual.manticoresearch.com/Searching/Joining#JSON) в JSON‑HTTP API

### Качество поиска и язык запросов

- Явный `|` (OR) внутри [PHRASE / PROXIMITY / QUORUM](https://manticoresearch.com/blog/or-in-phrase-quorum-proximity/), чтобы продвинутые запросы перестали ощущаться как обходной путь
- [boolean_simplify](https://manual.manticoresearch.com/Server_settings/Searchd#boolean_simplify) включён по умолчанию (более чистые булевые запросы без необходимости думать об этом)
- Запросы HAVING стали лучше: можно получить общие подсчёты без лишних ухищрений

### Безопасность данных

- Поддержка `LOCK TABLES` для более безопасных логических бэкапов [через mysqldump](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore#Backup-and-restore-with-mysqldump)
- Улучшения репликации: периодическое сохранение seqno, проверка уникального `server_id` при подключении к кластеру, индикатор прогресса SST

### Интеграции

- [Интеграция Kibana](https://manual.manticoresearch.com/Integration/Kibana#Integration-of-Manticore-with-Kibana) для дашбордов «что происходит» (и реальная история производительности в демо Kibana: [читать](https://manticoresearch.com/blog/kibana-demo/))
- [Загрузка данных из Kafka](https://manticoresearch.com/blog/integration-with-kafka/) для потоковой передачи данных в Manticore
- Поддержка [DBeaver](https://manual.manticoresearch.com/Integration/DBeaver) для GUI‑ориентированных рабочих процессов

### Прочие детали

- Статистика использования по таблицам и [счётчики](https://manual.manticoresearch.com/Creating_a_cluster/Setting_up_replication/Replication_cluster_status#SST-Progress-Metrics)
- `JOIN ON` с произвольными выражениями фильтра
- JOIN‑ы для локальных распределённых таблиц

Больше материалов, которые мы опубликовали в 2025 году (чтобы вы могли углубиться, если захотите):

- [Manticore Load Emulator](https://manticoresearch.com/blog/manticore-load/) — инструмент, который мы создали для бенчмаркинга/тюнинга без расплывчатых результатов
- [Manticore Search Re-indexing with mysqldump](https://manticoresearch.com/blog/mysqldump-optimization/) — переиндексация / резервные копии / «как перенести данные безопасно без паники из‑за простоя»
- [About Versioning in Manticore](https://manticoresearch.com/blog/semver/) — что означают наши версии и чего ожидать при обновлении
- [Manticore Search vs Elasticsearch: 3x Faster Kibana Dashboard Rendering for Log Analysis](https://manticoresearch.com/blog/kibana-demo/) — Kibana‑дашборды + анализ логов, и почему скорость рендеринга может быть… очень разной
- [Understanding Pagination in Manticore Search](https://manticoresearch.com/blog/pagination/) — прокрутка пагинации, глубокая пагинация, чего не стоит делать, когда у вас миллион результатов
- [Integrating Kafka with Manticore Search: A Step-by-Step Guide to Real-Time Data Processing](https://manticoresearch.com/blog/integration-with-kafka/) — ingest‑процесс Kafka → Manticore, шаг за шагом
- [OR Inside Phrase, Quorum and Proximity](https://manticoresearch.com/blog/or-in-phrase-quorum-proximity/) — ниша, но действительно полезно, когда вы попадаете в область «расширенных запросов»

❤️ Спасибо всем, кто поставил звёздочку репозиторию, сообщил об ошибках (особенно раздражающих), поделился отзывами и использует Manticore Search в продакшене. Если вы прислали нам репродукцию, сэкономившую день догадок: вы лучшие.

— Команда Manticore Search
