Manticoresearch

Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon

Stars
6.85K
Forks
379
Open issues
364
Closed issues
949
Last release
8 months ago
Last commit
5 months ago
Watchers
6.85K
Total releases
40
Total commits
10.3K
Open PRs
9
Closed PRs
128
Repo URL
Platform
License
gpl-2.0
Category
Offers premium version?
NO
Proprietary?
NO
About

WebsiteDownloadsDocsBlogCoursesForumSlackTelegram (En)Telegram (Ru)Twitter User feedback

 

Introduction

❗Read recent blog post about Manticore vs Elasticsearch

Manticore Search is an easy to use open source fast database for search. Good alternative for 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, saving you time and effort.
  • The cost-based query optimizer optimizes search queries for optimal performance.
  • 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, JavaScript, Java, Elixir, and Go, integration with Manticore Search becomes easy.
  • Manticore also provides a programmatic HTTP JSON protocol for more versatile data and schema management.
  • Built in C++, Manticore Search starts quickly and uses minimal RAM, with low-level optimizations contributing to its impressive performance.
  • With real-time inserts, newly added documents are immediately accessible.
  • Interactive courses are available through Interactive courses to make learning a breeze.
  • Manticore also boasts built-in replication and load balancing for added reliability.
  • Data can be synced from sources such as MySQL, PostgreSQL, ODBC, xml, and csv with ease.
  • While not fully ACID-compliant, Manticore still supports transactions and binlog to ensure safe writes.
  • Effortless data backup and recovery with built-in tools and SQL commands

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 -e EXTRA=1 --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/"&gt;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.

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 a GPLv2-licensed 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:

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.