Manticore Search is a free, open source search engines project written in C++ and released under GPL-3.0. It has 12,075 GitHub stars, 655 forks and 651 open issues, and was last pushed 5 hours ago. On this registry it ranks #6 of 8 tracked projects in Search Engines, with 5 head-to-head comparisons available. It gained 36 stars over the last 30 tracked days.

Manticore Search — Lightning-fast open source search engine for big data

What is Manticore Search?

What it is

Manticore Search is an open-source C++ search database for full-text, vector, and hybrid search with real-time indexing and SQL. It lives in the search-engine and database ecosystem, and the README presents it as an alternative to Elasticsearch.

It solves the problem of running search workloads with lower resource cost and simpler querying than the alternatives named in the README. It covers full-text relevance, vector retrieval, log analysis, and large datasets through MySQL-compatible SQL and an HTTP JSON API. Benchmark workloads in the README include Hacker News comments, Nginx logs, and NYC taxi rides.

Key capabilities

  • Full-text search works across small, medium, and large datasets, with BM25 ranking listed in the topics.
  • Hybrid search combines full-text and vector retrieval in one query, and conversational search uses vectorized tables, KNN, conversation history, and LLM-backed responses through CALL CHAT or the HTTP JSON /search endpoint.
  • Row-wise storage serves datasets within memory, while columnar storage with the Manticore Columnar Library handles datasets too large to fit in RAM.
  • Automatic secondary indexes use the PGM-index, and cost-based optimization uses indexed-data statistics to choose execution plans.
  • Multi-threaded query execution uses all CPU cores, and MySQL-compatible SQL plus official clients for PHP, Python, JavaScript, TypeScript, and Java support application integration.

Who uses it and how

  • Search backend teams can expose full-text, vector, or hybrid queries to applications through SQL or HTTP JSON.
  • DevOps and analytics teams can query log or tabular workloads, such as Nginx logs and NYC taxi rides, using row-wise or columnar storage as needed.
  • Conversational search teams can store vectorized tables and answer questions with CALL CHAT or the /search endpoint.

Getting started

The README excerpt points to Downloads for installation and official clients for PHP, Python, JavaScript, TypeScript, and Java; it does not list Docker image names, package managers, or a hosted option. Teams typically run the search server and query it through MySQL-compatible SQL or the HTTP JSON /search endpoint.

When to use it — and when not to

Use it when a self-hosted search database needs full-text, vector, hybrid, and SQL access while reducing CPU, memory, and ingestion costs compared with Elasticsearch, Typesense, ClickHouse, or MySQL on the listed benchmark workloads. The README does not mention a hosted option, SMTP, or external database dependency, so self-hosters must operate the search server and its storage themselves. The provided registry data shows 0 listed contributors and 651 open issues, and benchmark results are workload-specific, so teams should test their own queries before replacing an existing stack.

project readme (upstream, from github) — read inline

Manticore Search Logo

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.

manticoresoftware%2Fmanticoresearch | Trendshift

Website • Downloads • Docs • Blog • Courses • Forum • Slack • Telegram (En) • Telegram (Ru) • Twitter • User feedback

License: GPLv3 or later GitHub Actions Workflow Status Twitter Follow Slack Docker pulls Newsletter Activity GitHub closed issues

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:

    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 CHAT or the HTTP JSON /search endpoint.

  • 🏎️ 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, SQL BACKUP, and S3-compatible backup/restore support.

Craigslist, Socialgist, PubChem, Rozetka and many others use Manticore for efficient searching and stream filtering.

More features

Installation

Quick install

For Linux and macOS with Homebrew, use the one-line installer:

curl https://manticoresearch.com | sh

It detects Debian/Ubuntu/Mint, RHEL/CentOS/Amazon/Oracle/Fedora-like RPM systems, and macOS with Homebrew. It configures the official Manticore repository when needed, installs manticore, starts the service when supported, and prints the result.

Common commands:

curl https://manticoresearch.com | sh -s help
curl https://manticoresearch.com | sh -s list-versions
curl https://manticoresearch.com | sh -s version 25.0.0
curl https://manticoresearch.com | sh -s dev
curl https://manticoresearch.com | sh -s upgrade

Docker

Docker image is available on Docker Hub.

To experiment with Manticore Search in Docker just run:

docker run --name manticore --rm -d manticoresearch/manticore && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; done && docker exec -it manticore mysql && docker stop manticore

You can then: create a table, add data and run searches. For example:

create table movies(title text, year int) morphology='stem_en' html_strip='1' stopwords='en';

insert into movies(title, year) values ('The Seven Samurai', 1954), ('Bonnie and Clyde', 1954), ('Reservoir Dogs', 1992), ('Airplane!', 1980), ('Raging Bull', 1980), ('Groundhog Day', 1993), ('<a href="http://google.com/">Jurassic Park</a>', 1993), ('Ferris Bueller\'s Day Off', 1986);

select highlight(), year from movies where match('the dog');

select highlight(), year from movies where match('days') facet year;

select * from movies where match('google');

Note that upon exiting the MySQL client, the Manticore container will be stopped and removed, resulting in no saved data, so use this way only for testing / sandboxing purposes.

Read the full instruction for the docker image for more details including our recommendations on running it in production.

Manual package installation

If you prefer explicit package-manager commands, use the manual instructions below or see the downloads page.

RPM repo for RHEL/CentOS/Amazon/Oracle/Fedora-like Linux

sudo yum install https://repo.manticoresearch.com/manticore-repo.noarch.rpm
sudo yum install manticore

or use dnf when available:

sudo dnf install https://repo.manticoresearch.com/manticore-repo.noarch.rpm
sudo dnf install manticore

APT repo for Ubuntu/Debian/Mint

wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo apt install ./manticore-repo.noarch.deb
sudo apt update
sudo apt install manticore

Homebrew on macOS

brew install manticoresoftware/tap/manticoresearch manticoresoftware/tap/manticore-extra

Windows

For WSL/WSL2, use the Linux installer inside the WSL distribution. For native Windows, see the Windows installation instructions.

Documentation and community sites

Third-party integrations

How we can support you

Should your company require any help - we provide full-cycle services:

  • Audit
  • Support
  • Consulting
  • Development
  • Training

More details here

❤️ How you can support Manticore Search

Manticore Search is an Open Source project with development made possible by support from our core team, contributors, and sponsors. Building premium Open Source software is not easy. If you would like to make sure Manticore Search stays free, here is how you can help the project:

License

Manticore Search is distributed under GPLv3 or later. Manticore Search uses and re-distributes other open-source components. Please check the component licenses directory for details.

Frequently asked questions

Is Manticore Search free to use?

Manticore Search is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Manticore Search do?

Lightning-fast open source search engine for big data

What is Manticore Search written in?

Manticore Search is primarily written in C++. Its source is publicly available at https://github.com/manticoresoftware/manticoresearch, and it has 12,075 GitHub stars.