Easy to use open source fast database for search
Manticore Search is an easy-to-use, open-source, and fast database designed for search. It is a great alternative to Elasticsearch.
Website • Downloads • Docs • Blog • Courses • Forum • Slack • Telegram (En) • Telegram (Ru) • Twitter • User feedback
Introduction
What distinguishes Manticore from other solutions is:
It's very fast and therefore more cost-efficient than alternatives. In the current reproducible benchmarks, Manticore Search 27.1.5 is:
- 340x faster than MySQL 9.7.1 and 6.51x faster than Typesense 27.1 for 1.1M Hacker News comments
- 3.85x faster than tuned Elasticsearch 9.4.3 for 100M+ Hacker News comments
- 5.03x faster than tuned Elasticsearch 9.4.3 for selected typical DevOps queries on 10M Nginx logs; 1.71x faster than ClickHouse 26.6.1.1193 across the dashboard's default 10M-log query selection
- 2.02x faster than tuned Elasticsearch 9.4.3 and 3.16x faster than ClickHouse 26.6.1.1193 for 1.7B NYC taxi rides
- For the same 10M Nginx-log ingestion, Manticore Search Columnar 27.1.5 completed in 5m 46s vs 10m 15s for tuned Elasticsearch 9.4.3, using 1.02 vs 3.80 CPU cores on average, 3.98 GB vs 36.98 GB RAM on average, and 0.41 MB read / 8.05 GB written vs 322.14 MB read / 18.47 GB written.
Results are workload-specific; use the linked dashboard to select the queries that match your workload.
⚡ Multi-threaded query execution and efficient query parallelization use all CPU cores for low response times.
🔎 Full-text search works seamlessly with both small and large datasets.
🧩 Hybrid search combines full-text and vector retrieval in a single query for better relevance.
💬 Conversational search lets existing vectorized tables answer questions with KNN retrieval, conversation history, and LLM-backed responses through SQL
CALL CHATor the HTTP JSON/searchendpoint.🏎️ Row-wise storage provides fast performance for small, medium, and large datasets.
🗄️ Columnar storage, powered by the Manticore Columnar Library, handles datasets too large to fit in RAM.
📇 Automatic secondary indexes use the PGM-index (Piecewise Geometric Model index) for efficient mapping between indexed keys and memory locations.
🧠 Cost-based query optimization uses indexed-data statistics to select efficient execution plans.
🧮 SQL-first and MySQL-compatible: use SQL as the native syntax with your preferred MySQL client.
🔌 Official clients for PHP, Python, Python asyncio JavaScript, Typescript, Java, Elixir, Go, and Rust make integration easy.
🌐 HTTP JSON API and Elasticsearch-compatible writes support versatile data and schema management.
🧱 Sharded tables transparently distribute reads and writes across physical shards on one node or across a replication cluster.
🔐 Built-in authentication and authorization secure MySQL, HTTP/HTTPS, distributed remote agents, and replication-related operations with users, bearer tokens, and fine-grained permissions.
🪶 C++ performance and a small footprint: Manticore Search starts quickly and uses around 40MB RSS for an empty instance.
⚡ Real-time inserts make newly added or updated documents immediately accessible.
🎓 Interactive courses at play.manticoresearch.com make learning easier.
🔄 Virtually synchronous multi-master replication uses Galera and includes load balancing.
🔗 Data synchronization supports sources such as MySQL, PostgreSQL, ODBC, XML, and CSV.
🛡️ Safe writes: while not fully ACID-compliant, Manticore supports isolated transactions and binary logging.
💾 Backup and recovery include
manticore-backup, SQLBACKUP, and S3-compatible backup/restore support.
Craigslist, Socialgist, PubChem, Rozetka and many others use Manticore for efficient searching and stream filtering.
More features
- Full-text search and relevance:
- Over 20 full-text operators and over 20 ranking factors
- Custom ranking
- Other search capabilities: