Open-source database for search applications

Lightweight SQL-first database designed for search applications that suits both big and small data collections

Typical use cases

Interactive courses​

To make things easier for our users we have made an interactive learning and training platform where you can try out live different Manticore Search's capabilities.

We are trusted by

Developers first

CREATE TABLE products(title text, price FLOAT);
//ADD documents
INSERT INTO products(title,price) VALUES ('Crossbody Bag with Tassel', 19.85), ('microfiber sheet set', 19.99), ('Pet Hair Remover Glove', 7.99);
SELECT id, HIGHLIGHT(), price FROM products WHERE MATCH('remove hair');
curl -X POST -d 'mode=raw&query=create table products(title text, price float)'
//ADD documents
curl -X POST -d '{"index":"products", "doc":{"title":"Crossbody Bag with Tassel","price":19.85}}'
curl -X POST -d '{"index":"products","doc":{"title":"microfiber sheet set","price":19.99}}'
curl -X POST -d '{"index":"products","doc":{"title":"Pet Hair Remover Glove","price":7.99}}'
curl -X POST -d '{"index":"products","query":{"match":{"title":"remove hair"}},"highlight":{"fields":["title"]}}'
require_once __DIR__ . '/vendor/autoload.php';
$config = ['host'=>'','port'=>9308];
$client = new \Manticoresearch\Client($config);
//create index
$index = new \Manticoresearch\Index($client);
//add documents
        ['title' => 'Crossbody Bag with Tassel', 'price' => 19.85],
        ['title' => 'microfiber sheet set', 'price' => 19.99],
        ['title' => 'Pet Hair Remover Glove', 'price' => 7.99]
$result = $index->search('@title remove hair')->highlight(['title'])->get();
import manticoresearch
config = manticoresearch.Configuration(
    host = ""
client =  manticoresearch.ApiClient(config)
indexApi = manticoresearch.IndexApi(client)
searchApi = manticoresearch.SearchApi(client)
utilsApi = manticoresearch.UtilsApi(client)
//create index
utilsApi.sql('mode=raw&query=create table forum(title text, price float)')
//add documents
indexApi.insert({"index" : "test", "doc" : {"title" : "Crossbody Bag with Tassel", "price" : 19.85}})
indexApi.insert({"index" : "test", "doc" : {"title" : "microfiber sheet set", "price" : 19.99}})
indexApi.insert({"index" : "test", "doc" : {"title" : "Pet Hair Remover Glove", "price" : 7.99}})
//search{"index":"myindex","query":{"query_string":"@title remove hair"},"highlight":{"fields":["title"]}})
var Manticoresearch = require('manticoresearch');
var client = new Manticoresearch.ApiClient()
client.basePath = "";
indexApi = new Manticoresearch.IndexApi(client);
searchApi = new Manticoresearch.SearchApi(client);
utilsApi = new Manticoresearch.UtilsApi(client);
//create index
res = await utilsApi.sql('mode=raw&query=create table forum(title text, price float)');
//add documents
res = await indexApi.insert({"index" : "test", "doc" : {"title" : "Crossbody Bag with Tassel", "price" : 19.85}});
res = await indexApi.insert({"index" : "test", "doc" : {"title" : "microfiber sheet set", "price" : 19.99}});
res = await indexApi.insert({"index" : "test", "doc" : {"title" : "Pet Hair Remover Glove", "price" : 7.99}});
res = await{"index":"myindex","query":{"query_string":"@title remove hair"},"highlight":{"fields":["title"]}});
import com.manticoresearch.client.*;
import com.manticoresearch.client.model.*;
import com.manticoresearch.client.api.*;
ApiClient client = Configuration.getDefaultApiClient();
IndexApi indexApi = new IndexApi(client);
SearchApi searchApi = new SearchApi(client);
UtilsApi utilsApi = new UtilsApi(client);
//create index
utilsApi.sql("mode=raw&query=create table products(title text, price float)");

We understand that different developers prefer different ways of communicating with databases. That’s why Manticore Search, being natively SQL database can be used differently too: 

  • SQL-first: the native Manticore’s syntax is SQL. It speaks SQL over HTTP and MySQL protocol (you can use your preferred mysql client).
  • JSON over HTTP: to provide more programmatic way to manage your data and schemas Manticore provides HTTP JSON protocol. Very similar to the one from Elasticsearch.
  • Manticore Search also has various clients for quick and easy integration.

What is Manticore Search

Manticore Search is an open-source search engine that was born in 2017 as a continuation of the famous Sphinx Search engine. We took all the best from that, significantly improved its functionality, fixed hundreds of bugs, and rewrote it almost completely internally. And left it all open-sourced! That’s what makes Manticore Search a modern, fast and light-weight full-featured search engine.

We have designed and developed Manticore to provide you with multi-functional relevant search capabilities with high performance and low resource consumption and importantly easily integrable. It doesn’t matter what environment you are using, whether it’s Windows, Linux, MacOS or Docker, you can always use Manticore Search and connect to it from different programming languages or HTTP via JSON or even using MySQL client. 

Driven by the industry’s high standards and our clients’ needs, we made Manticore easily scalable, so no matter what kind of tasks you need to solve, search on a site or building multilingual directory with petabyte data coming from different sources, all this you can do with our open-source search engine.