About Manticore Search
Manticore Search - easy to use open source fast database for search
Manticore Search is an open-source database that was created in 2017 as a continuation of the Sphinx Search engine. We built upon its strengths, significantly improving its functionality and fixing hundreds of bugs while keeping it open-source. This has made Manticore Search a modern, fast, lightweight, and fully-featured database with outstanding full-text search capabilities.
Our aims and objectives
Ease of use
We believe that in today’s world, the primary focus of any technology vendor should be ease of use. Our goal is for our users, whether they are developers or devops, to not have to become experts in databases or search engines, or hold a PhD, in order to effectively use Manticore products. We understand that our users have other important tasks to attend to, rather than spending hours trying to understand the intricacies of various settings and their effects on functionality. Therefore, we strive to ensure that Manticore Search works seamlessly and efficiently with minimal configuration, even with default settings.
SQL / JSON
We love SQL. It’s impossible to find anything more straightforward when preparing your search query. Most developers are familiar with WHERE
, GROUP BY
, and ORDER BY
as they’ve been in use for decades. With Manticore Search, you can perform any type of query using SQL. Additionally, Manticore Search also understands the MySQL protocol, allowing you to use MySQL clients for your queries. However, we understand that coding queries in your application may be more comfortable with more structured protocols than an SQL string. That’s why Manticore Search also supports JSON. Additionally, we provide Manticore Search bindings for various programming languages to make integration even more seamless.
Multi-model
Manticore Search offers support for both row-wise storage (similar to MySQL and Postgres) and columnar storage (similar to Redshift, Clickhouse, BigQuery, and Druid), making it incredibly fast for small data sets that can fit in RAM and still maintaining speed when your data is significantly larger than the RAM size.
Additionally, Manticore Search offers two configuration modes: plain, in which all tables are specified in a configuration file (similar to k8s yamls), and real-time, in which tables are created, altered, and dropped using CREATE/ALTER/DROP TABLE commands.
Performance and resource consumption
We believe that performance and resource consumption are important. That’s why Manticore Search is written in C++, a programming language commonly used to write operating systems, browsers, and other software where performance and resource efficiency is crucial. Writing in C++ may be challenging and time-consuming, but it enables us to ensure that Manticore Search uses minimal RAM and maximizes CPU efficiency. According to the Fair database benchmarks https://db-benchmarks.com, Manticore Search is: 15x faster than Elasticsearch on small data, 4x faster on big data, and 29x faster for log analytics.
Advanced search capabilities
Manticore Search offers powerful search features including vector search with columnar storage. You can implement and store data vectors for efficient vector search, combined with full-text search, fuzzy matching, and query suggestions similar to Google’s functionality. This enables you to create sophisticated search experiences for your users. These advanced features are currently available in the development version and will be released soon.
Elasticsearch alternative
Manticore Search serves as a robust alternative to Elasticsearch. It can seamlessly replace Elasticsearch by emulating its interface, allowing you to continue using familiar tools like Kibana or Logstash. This compatibility makes it easy to migrate your existing Elasticsearch-based projects to Manticore Search, leveraging its performance benefits without significant changes to your infrastructure.
Easy scalability
Driven by the industry’s high standards and our clients’ needs, we designed Manticore to be easily scalable. This means that regardless of the size or complexity of your search task - whether it’s a small site, analytics over billions of log records, or building a multilingual directory with petabyte data from different sources - you can accomplish it with Manticore Search. Additionally, we believe that features such as replication and search load distribution should be straightforward to use and maintain.
Powerful full-text capabilities
Manticore Search, initially designed as a pure full-text search engine, boasts exceptional full-text capabilities: with over 20 full-text operators and more than 20 ranking factors, it offers a variety of built-in rankers and an expression-based custom ranker. Additionally, it includes features such as text stemming, lemmatization, stopwords, synonyms, wordforms, low-level character mapping, proper Chinese segmentation, easy text highlighting, ranking, and tokenization plugins, among many others.
Integrations
We believe that it should be easy to integrate Manticore Search into your existing stack. That’s why Manticore can read data from MySQL, Postgres, MSSQL, ODBC, XML, CSV, TSV out of the box. It can also be integrated with MySQL as an engine or accessed via ProxySQL. Manticore Search also integrates seamlessly with Logstash, Apache Superset, Grafana, and other open-source tools.
Open source
As open source enthusiasts, we firmly believe that technology such as databases should be open source. With this in mind, we have made Manticore Search and all other Manticore products publicly available under OSI-approved open source licenses. You can find us on GitHub.
Vector search
Manticore Search enables vector search for features like similarity search, recommendations, and semantic search. By leveraging embeddings (data representations in a high-dimensional space) it helps create intelligent and precise search experiences. Using KNN (k-nearest neighbor) search with the efficient HNSW algorithm, Manticore supports flexible vector configurations and similarity metrics such as cosine similarity, inner product, and squared L2 distance. Integration is seamless with SQL and JSON APIs, ensuring easy compatibility with existing workflows.
Documentation
We understand the importance of quickly getting started with a new technology. However, we were not satisfied with the existing documentation engines, so we created our own. Our documentation engine, made with Manticore Search, features a search powered by Manticore Search, as well as nice code example tabs and many more features.
Interactive courses
To make it even easier to familiarize yourself with Manticore Search, we also offer free interactive courses that can help you easily learn about Manticore Search - starting with how to install and configure it, and progressing to topics such as Geo Search, “Did you mean” functionality, Autocomplete, and Faceting implementation.