Manticore search as a fork of SphinxSearch 2.7.3 before it transitioned into a closed source project. Adding many of the features SphinxSearch 3 later added, but many additional features unique to Manticoresearch.

Including a MySQL Protocol support for any mysql client library. SQL query support for updating and searching the database. And many many more features

#database #search #searchengine #mysql #cpp

Sergey Nikolaev 7fb2cafe36 ci: skip CLT if there's a PR with the same branch name in MCL/buddy; fix win tests reporting 10 hours ago
.clt 24840aed94 🆕 Update buddy version from 3.30.2 to 3.31.0 (#3546) 7 months ago
.github 7fb2cafe36 ci: skip CLT if there's a PR with the same branch name in MCL/buddy; fix win tests reporting 10 hours ago
.translation-cache 28e0dfbafb Add testing for Grafana version 12.4 (#4300) 15 hours ago
actions 7e377a8f1b CI: stricter branch comparison in update-deps action (#3568) 7 months ago
api e21dcdb0a3 start inherited copyrights from 2017 1 month ago
cmake 7fcb5afddb ci: test.yml refactoring, single job for Windows tests 2 days ago
component-licenses f16296b946 chore: copyright 2026 1 month ago
config e21dcdb0a3 start inherited copyrights from 2017 1 month ago
contrib c774fd36a4 conf path changes #1095 6 years ago
dist 7fcb5afddb ci: test.yml refactoring, single job for Windows tests 2 days ago
doc f2e87ad0ac docs: minor update in README.Debian.in.prepare.php and man pages 2 weeks ago
galera_packaging 2dac87032d Feat: RHEL 10 support (#3518) 7 months ago
libicu 81dcc0a2aa simplified pdb export 3 years ago
libre2 81dcc0a2aa simplified pdb export 3 years ago
libstemmer_c 81dcc0a2aa simplified pdb export 3 years ago
manual 28e0dfbafb Add testing for Grafana version 12.4 (#4300) 15 hours ago
misc 7fcb5afddb ci: test.yml refactoring, single job for Windows tests 2 days ago
mysqlse f16296b946 chore: copyright 2026 1 month ago
src f9523b74ab fix: ALTER ADD COLUMN not preserving auto-embedding model_name and FROM (#4294) 22 hours ago
test 28e0dfbafb Add testing for Grafana version 12.4 (#4300) 15 hours ago
translator @ b85155dbd4 a5e457b6f5 chore: bumped translator version 1 month ago
.editorconfig 1b22c06e82 Update editorconfig and sent indent size to 4 2 years ago
.gitignore 9520385471 add tests from AI pr 1 week ago
.gitlab-ci.yml e0e1822a18 mask out failing test 300 on win 8 months ago
.gitmodules b89d3482d4 ci: changed translator submodule url to https 4 months ago
.noindex adbbf4d8ab Auto-translating of the manual (#3333) 6 months ago
116.conf 08cb65074f Added Add test for table freezing/unfreezing and update operations (#2684) 1 year ago
CMakeLists.txt 2e849c5716 disable memroutines when fuzing 7 months ago
CODE_OF_CONDUCT.md d761c0f2bb removed broken analytics in 2 md files 3 years ago
CONTRIBUTING.md bb431184c0 github tempaltes , contrib and testing guides 8 years ago
INSTALL 58bda13adb License-related changes and cleanup (#1720) 2 years ago
LICENSE 58bda13adb License-related changes and cleanup (#1720) 2 years ago
README.md 1ee5f1056c Added info on new supported clients 11 months ago
TESTING.md 8cac5193d7 docs: corrected the TOC link and clarified the terminology of branches in TESTING.md 2 months ago
columnar_src.txt 725e9c973c fix columnar APIs versioning 3 years ago
compare_manuals.sh adbbf4d8ab Auto-translating of the manual (#3333) 6 months ago
configure 09b5e3b15a Fixes #123 - old build system. 8 years ago
deps.txt 69e5123d31 chore: Update MCL version from 10.2.0 to 10.2.2 1 week ago
docker-compose-test.yml d129d4e414 split dockerized smoke to separate tests; fixed exit code and db container wait loop 8 years ago
example.sql 42b5d96f44 test hg-local change 16 years ago
manticore.conf.in 6257ae425e gl#3454: removed query_log_format=sphinxql from the default config since it's redundant 2 years ago
memcheck.sh 6d9ef33a1f ci: we were checking for "uninitialized" in memcheck.sh, but Valgrind returns "uninitialised". Fixed. 3 weeks ago
memdocker.sh 3410351fcc docker and instruction for memcheck 11 months ago
smoke.sh b02082a245 memcheck specific 2 years ago
smokeci.sh 060ff2fe15 refresh memcheck script 11 months ago
sphinxrev.cmake e6e0adf604 CI: numerous changes related with migration to fair semver (#3271) 11 months ago
sphinxrevcheck.cmake 514d35b497 Implemented date/time functions via CCTZ; moved CI test builds to Jammy (#2) 2 years ago
stack.txt 09c87d9f62 docs: updated changelog 1 year ago
translator.config.yaml ab676aed53 docs: switched to translator v2 and retranslated all docs 2 months ago
translator.models.yaml ab676aed53 docs: switched to translator v2 and retranslated all docs 2 months ago
translator.role.tpl f226c3ab7f docs: minor update in translator.role.tpl 2 weeks ago
valgrind edfbd1db5b valgrind wrapper 4 years ago

README.md

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.

WebsiteDownloadsDocsBlogCoursesForumSlackTelegram (En)Telegram (Ru)TwitterUser feedback

GitHub Actions Workflow Status Twitter Follow Slack Docker pulls Newsletter Activity GitHub closed issues

Introduction

❗Read recent blog post about Manticore vs Elasticsearch

What distinguishes it from other solutions is:

  • It's very fast and therefore more cost-efficient than alternatives, for example Manticore is:
  • With its modern multithreading architecture and efficient query parallelization capabilities, Manticore is able to fully utilize all your CPU cores to achieve the quickest response times possible.
  • The powerful and speedy full-text search works seamlessly with both small and large datasets.
  • Row-wise storage for small, medium and big size datasets.
  • For even larger datasets, Manticore offers columnar storage support through the Manticore Columnar Library, capable of handling datasets too big to fit in RAM.
  • Performant secondary indexes are automatically created using the PGM-index (Piecewise Geometric Model index), which provides efficient mapping between indexed keys and their memory locations.
  • The cost-based query optimizer uses statistical data about indexed data to evaluate and determine the most efficient execution plan.
  • Manticore is SQL-first, utilizing SQL as its native syntax, and offers compatibility with the MySQL protocol, allowing you to use your preferred MySQL client.
  • With clients available in PHP, Python, Python asyncio JavaScript, Typescript, Java, Elixir, Go, and Rust, integration with Manticore Search becomes easy.
  • Manticore also provides a programmatic HTTP JSON protocol for more versatile data and schema management, with Elasticsearch-compatible writes support.
  • Built in C++, Manticore Search starts quickly and uses minimal RAM (around 40MB RSS for an empty instance), with low-level optimizations contributing to its impressive performance.
  • With real-time inserts, newly added or updated documents are immediately accessible.
  • Interactive courses are available through Interactive courses to make learning a breeze.
  • Manticore also boasts built-in virtually synchronous multi-master replication using the Galera library and load balancing capabilities.
  • Data can be synced from sources such as MySQL, PostgreSQL, ODBC, xml, and csv with ease.
  • While not fully ACID-compliant, Manticore supports isolated transactions and binary logging for safe writes.
  • Effortless data backup and recovery with built-in tools like manticore-backup and SQL BACKUP command

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

Manticore Search was forked from Sphinx 2.3.2 in 2017.

More features

Installation

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.

Packages

Ubuntu, Debian, Centos, Windows and MacOS packages are here.

YUM repo for RHEL/Centos/Amazon/Oracle Linux

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

APT repo for Ubuntu/Debian/Mint

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

Homebrew on MacOS

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

Windows

See instruction here.

Clouds

Documentation and community sites

Third-party integrations

How we can support you

Should your company require any help - we provide full-cycle services in the areas of Sphinx and Manticore Search:

  • 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.