Introduction

Manticore Search is a multi-storage database designed specifically for search, including full-text search.

Manticore Search is an open-source database that was created in 2017 as a continuation of Sphinx Search engine. We took all the best from it, significantly improved its functionality, fixed hundreds of bugs, rewrote the code almost completely and kept it open-source! That all has made Manticore Search a modern, fast, light-weight and full-featured database with outstanding full-text search capabilities.

Our key features are:

Powerful and fast full-text searching which works fine for small and big datasets

Modern MPP architecture

Modern MPP architecture and smart query parallelization capabilities allow to fully utilize all your CPU cores to lower response time as much as possible, when needed.

Row-wise storage

Traditional row-wise storage for small, medium and big size datasets.

Column-oriented storage

Columnar storage support via the Manticore Columnar Library for bigger datasets (much bigger than can fit in RAM).

SQL-first

The native Manticore's syntax is SQL. It speaks SQL over HTTP and MySQL protocol. You can use your preferred mysql client to connect to Manticore Search server via SQL protocol in any programming language.

JSON over HTTP

To provide more programmatic way to manage your data and schemas Manticore provides HTTP JSON protocol. It is very similar to the one from Elasticsearch.

Declarative and imperative schema management

You can create / update / delete indexes online as well as providing schemas in a configuration file.

Power of C++

Being written fully in C++, Manticore Search starts fast and doesn't take much RAM. Low-level optimizations give good performance.

Real-time inserts

After a new document is added or updated it can be read immediately.

Interactive courses

We provide interactive courses for easier learning.

ACID compliance

Manticore is not fully ACID-compliant, but it supports isolated transactions for atomic changes and binary logging for safe writes.

Built-in replication and load balancing

Data can be distributed across servers and data-centers. Any Manticore Search node can be both a load balancer and a data node. Manticore implements virtually synchronous multi-master replication using Galera library which guarantees consistency between all data nodes, no data loss and gives good replication performance.

Can sync from MySQL/PostgreSQL/ODBC/xml/csv out of the box

Manticore indexer tool and rich configuration syntax helps to sync existing data from MySQL, PostgreSQL, any database which speaks ODBC and any other technology which can generate a simple XML or CSV.

Integrations

You can integrate Manticore Search with MySQL/MariaDB server via a FEDERATED engine or use Manticore through ProxySQL

Stream filtering

Manticore has a special index type called "percolate" which implements search in reverse when you index your queries rather than data. It's an extremely powerful tool for full-text data stream filtering: just put all your queries in the index, process your data stream by sending each batch of documents to Manticore Search and you'll get only those back that match some of your stored queries.

Possible applications:

Manticore's possible applications are not limited by, but include: