Hey everyone,
2025 was a very hands-on year for Manticore Search. Lots of "ok, why is this slow in production" moments, lots of fixes that aren’t glamorous, and a steady push to make the engine do more without turning your stack into a science project.
The "big stuff" we shipped
- Vector search: indexing choices, filtering, hybrid-ish setups, the stuff you only learn after you’ve built one ( read )
- Auto Embeddings: insert text, get vectors, query with
knn()… without bolting on a separate embedding pipeline ( read ) - Vector quantization (and related upgrades): cheaper storage, faster queries, more knobs when you need them ( read )
- Fuzzy search: actual product search that doesn’t fall apart on typos ( read )
- Autocomplete: simple to enable, and good enough to ship ( read )
Scoreboard:
- 📦 shipped 12 releases
- 🐞 fixed 255 bugs
- ✨ delivered 107 features and improvements
- ⭐ grew GitHub stars by +27% vs last year
- 📈 saw ~35% more active instances vs last year
If you like "pace" stats (we do, a bit):
- ~1 bug fix every 1.4 days
- ~1 feature/improvement every 3.4 days
- basically one meaningful change per day, on average
The stuff that actually mattered (to us, and hopefully to you)
Performance
- JSON secondary indexes for faster JSON-heavy filtering (plus
secondary_index_block_cachewhen you really lean on them) - JOIN batching for serious speedups on JOIN queries
- Vector quantization (and friends: rescoring/oversampling, storage changes) for cheaper/faster vector search
- Automatic RT disk chunk flushing — plus better visibility/logging around it — so performance doesn’t quietly slide under load
Ease of use
- Automatic embeddings generation (one of those "finally" features)
- Scroll pagination for big result sets without weird hacks
- Fuzzy search and autocomplete you can just switch on
- Jieba-based Chinese tokenization (because without proper segmentation you end up with “why didn’t this match” and “why did it match that”)
- Built-in
Prometheus exporter
(and
/metricsbehaving like actual Prometheus text, not JSON) - JOIN support in the JSON HTTP API
Search quality & query language
- Explicit
|(OR) inside PHRASE / PROXIMITY / QUORUM , so advanced queries stop feeling like a workaround - boolean_simplify enabled by default (cleaner boolean queries without you thinking about it)
- HAVING queries got nicer: you can get total counts without jumping through hoops
Data safety
LOCK TABLESsupport for safer logical backups via mysqldump- Replication upgrades: periodic seqno saving, unique
server_idcheck on cluster join, SST progress meter
Integrations
- Kibana integration for "what’s going on" dashboards (and a real-world perf story in the Kibana demo: read )
- Kafka ingestion for streaming data into Manticore
- DBeaver support for GUI-based workflows
Other bits
- Per-table usage stats and counters
JOIN ONwith arbitrary filter expressions- JOINs for local distributed tables
More things we published in 2025 (so you can go deep, if you want)
- Manticore Load Emulator — the tool we built for benchmarking/tuning without hand-wavy results
- Manticore Search Re-indexing with mysqldump — re-indexing / backups / "how do we move data safely without downtime panic"
- About Versioning in Manticore — what our versions mean and what to expect when you upgrade
- Manticore Search vs Elasticsearch: 3x Faster Kibana Dashboard Rendering for Log Analysis — Kibana dashboards + log analysis, and why rendering speed can be… very different
- Understanding Pagination in Manticore Search — scroll pagination, deep paging, what not to do when you have a million results
- Integrating Kafka with Manticore Search: A Step-by-Step Guide to Real-Time Data Processing — Kafka → Manticore ingestion, step by step
- OR Inside Phrase, Quorum and Proximity — niche, but genuinely useful once you hit "advanced query" territory
❤️ Thanks to everyone who starred the repo, reported bugs (especially the annoying ones), shared feedback, and runs Manticore Search in production. If you sent us a repro that saved a day of guessing: you’re the best.
— The Manticore Search team
