# Manticore Search 2025 recap

2025 was a very hands-on year for Manticore Search. We focused on practical improvements: speeding up real workloads, fixing production bugs, and steadily expanding search capabilities

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](https://manticoresearch.com/blog/vector-search-deep-dive/))
- Auto Embeddings: insert text, get vectors, query with `knn()`… without bolting on a separate embedding pipeline ([read](https://manticoresearch.com/blog/auto-embeddings/))
- Vector quantization (and related upgrades): cheaper storage, faster queries, more knobs when you need them ([read](https://manticoresearch.com/blog/quantization/))
- Fuzzy search: actual product search that doesn’t fall apart on typos ([read](https://manticoresearch.com/blog/fuzzy-search-101-with-manticore/))
- Autocomplete: simple to enable, and good enough to ship ([read](https://manticoresearch.com/blog/autocomplete-the-predictive-search/))

### Scoreboard:

- 📦 shipped [12 releases](https://manual.manticoresearch.com/Changelog)
- 🐞 fixed 255 bugs
- ✨ delivered 107 features and improvements
- ⭐ grew [GitHub stars](https://github.com/manticoresoftware/manticoresearch) 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_cache` when you really lean on them)
- JOIN batching for serious speedups on JOIN queries
- [Vector quantization](https://manticoresearch.com/blog/quantization/) (and friends: rescoring/oversampling, storage changes) for cheaper/faster [vector search](https://manticoresearch.com/blog/vector-search-deep-dive/)
- 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](https://manticoresearch.com/blog/auto-embeddings/) (one of those "finally" features)
- [Scroll pagination](https://manticoresearch.com/blog/pagination/) for big result sets without weird hacks
- [Fuzzy search](https://manticoresearch.com/blog/fuzzy-search-101-with-manticore/) and [autocomplete](https://manticoresearch.com/blog/autocomplete-the-predictive-search/) you can just switch on
- [Jieba-based](https://manual.manticoresearch.com/Creating_a_table/NLP_and_tokenization/Languages_with_continuous_scripts) 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](https://manual.manticoresearch.com/Node_info_and_management/Node_status#Node-status) (and `/metrics` behaving like actual Prometheus text, not JSON)
- [JOIN support](https://manual.manticoresearch.com/Searching/Joining#JSON) in the JSON HTTP API

### Search quality & query language

- Explicit `|` [(OR) inside PHRASE / PROXIMITY / QUORUM](https://manticoresearch.com/blog/or-in-phrase-quorum-proximity/), so advanced queries stop feeling like a workaround
- [boolean_simplify](https://manual.manticoresearch.com/Server_settings/Searchd#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 TABLES` support for safer logical backups [via mysqldump](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore#Backup-and-restore-with-mysqldump)
- Replication upgrades: periodic seqno saving, unique `server_id` check on cluster join, SST progress meter

### Integrations

- [Kibana integration](https://manual.manticoresearch.com/Integration/Kibana#Integration-of-Manticore-with-Kibana) for "what’s going on" dashboards (and a real-world perf story in the Kibana demo: [read](https://manticoresearch.com/blog/kibana-demo/))
- [Kafka ingestion](https://manticoresearch.com/blog/integration-with-kafka/) for streaming data into Manticore
- [DBeaver support](https://manual.manticoresearch.com/Integration/DBeaver) for GUI-based workflows

### Other bits

- Per-table usage stats and [counters](https://manual.manticoresearch.com/Creating_a_cluster/Setting_up_replication/Replication_cluster_status#SST-Progress-Metrics)
- `JOIN ON` with 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](https://manticoresearch.com/blog/manticore-load/) — the tool we built for benchmarking/tuning without hand-wavy results
- [Manticore Search Re-indexing with mysqldump](https://manticoresearch.com/blog/mysqldump-optimization/) — re-indexing / backups / "how do we move data safely without downtime panic"
- [About Versioning in Manticore](https://manticoresearch.com/blog/semver/) — what our versions mean and what to expect when you upgrade
- [Manticore Search vs Elasticsearch: 3x Faster Kibana Dashboard Rendering for Log Analysis](https://manticoresearch.com/blog/kibana-demo/) — Kibana dashboards + log analysis, and why rendering speed can be… very different
- [Understanding Pagination in Manticore Search](https://manticoresearch.com/blog/pagination/) — 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](https://manticoresearch.com/blog/integration-with-kafka/) — Kafka → Manticore ingestion, step by step
- [OR Inside Phrase, Quorum and Proximity](https://manticoresearch.com/blog/or-in-phrase-quorum-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
