Free open-source text search engine
Manticore Search was born in 2017 as a continuation of Sphinx Search (which started in 2001). We took the best from Sphinx (C++ core and focus on low level data structures and fine-tuned algorithms), added more functionality, fixed tons of bugs, made it easier to use, kept it open source and made Manticore Search even more lightweight & extremely fast full-text search engine.
What is Manticore?
Manticore Search is a free and open source database designed specifically for search, including full-text search. We focus on low latency and high throughput full-text search and high volume stream filtering. Manticore Search helps thousands of companies from small to large, such as Craigslist, to search and filter petabytes of text data on a single or hundreds of nodes, do stream full-text filtering, add auto-complete, spell correction, more-like-this, faceted search and other search-related technologies to their sites.
Manticore or Sphinx?
Here’s what makes Manticore different from Sphinx:
- Hundreds of bugs fixed
- Higher performance
- Many major and minor features added: Percolate index, Replication, Highlight, new index format, new index access modes, HTTP JSON interface, easier morphology, OR in WHERE, HTTPS support, MySQL’s FEDERATED and ProxySQL support and many others
- Columnar storage support
- Better documentation and interactive courses
- Premium service and support
Please find the complete comparison here
- Powerful and fast full-text searching which works fine for small and big datasets
- 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
- Written fully in C++: starts fast, doesn’t take much RAM, low-level optimizations give good performance
- Real-time inserts: after INSERT is made the document can be read immediately
- Interactive courses for easier learning
- Built-in replication and load balancing
- Can sync from MySQL/PostgreSQL/ODBC/xml/csv out of the box
- Not fully ACID-compliant, but supports transactions and binlog for safe writes
Features in details
The easiest and most intuitive way for designing queries which lets you learn the technology very fast
Use lots of search operators and expressions to let your users find what they really need
Stores your original documents on disk compressed with no memory footprint and low-latency access
Synchronous replication for Real-time and PQ indexes
RT indexes allows updates be instant available for searching
Built-in FACET operator lets you implement faceted search with just few lines of code
Find objects close to others easily with built-in radius/polygon search functions
Customize search ranking formula to promote things that really matter to your business
If you prefer JSON based DSL over HTTP, Manticore supports it
Incredibly efficient, high-throughput stream filtering and high-quality filtering capabilities
When you need you can customize morphology on a character-by-character level
Manticore Search can easily index from MySQL/Postgres/CSV/TSV out of the box. Just a matter of few lines in the config file
Want to index data from other data storages? If it supports ODBC – not a problem at all. Xmlpipe driver covers everything else.
In most cases, you don’t need to think about search morphology at all
Works in Linux, Windows, OSX and in Docker
Tens of built-in functions and operators allow to do not only search but analytic requests. We also support user-defined functions for any custom needs you may have
Wide range of Manticore and Sphinx search services
Manticore vs Sphinx
|Open source||Yes||No, only old version is opensource|
|License||GPLv2||Delayed FOSS, Commercial|
|Performance||Up to 2x higher||Lower|
|Stability||Higher (based on what Manticore users say when migrating from Sphinx 2/3)||Lower|
|Public issues (since 2019)||Total - 434, Actual - 116, Fixed - 318||Total - 49, Actual- 49, Fixed - 0|
|Latest release||4.0.2 (September, 2021)||3.4.1 (July 2021)|
|Columnar storage support||Yes||No|
|Multi-threaded Real-time indexes||Yes||No|
|Multi-threaded plain indexes||Yes||No|
|Indexing sources||MySQL, PostgreSQL, MSSQL, XML , CSV/TSV, any DB supporting ODBC||MySQL, PostgreSQL, MSSQL, XML , CSV/TSV, any DB supporting ODBC|
|Index types||Plain, RealTime, template, distributed, percolate||Plain,RealTime, template, distributed|
|Percolate Queries (reverse search)||Yes||No|
|Built-in Linguistic collections||Lemmatizers for 3 languages, stopwords for 50 languages.|
Chinese ICU processor.
No need to maintain in most cases long charset_table.
Snowball 2.0 with 25 stemmers
|Lemmatizers for 3 languages.
Need to maintain long charset_table.
Snowball 1.0 with 15 stemmers
|OR in WHERE||Yes||No|
|More string functions||Yes||No|
|True seamless rotation||Yes||No|
|Security: https support||Yes||No|
|Community support and tools|
|Free config audit||Yes||No|
|Accepted pull requests on Github||28||0|
|HTTP protocol||Yes||Basic, implements only searches|
|PHP||Official||Official, but marked deprecated|
|Perl||Unofficial||Official, but marked deprecated|
|Ruby||Official||Official, but marked deprecated|
|Python||Official||Official, but marked deprecated|
|C++||Official||Official, but marked deprecated|
|Java||Official||Official, but marked as work in progress|
|Linux||deb (all Ubuntu and Debian LTS) and rpm (RHEL/Centos 6, 7 and 8) packages||generic tar.gz|
|Docker||Yes||No official image, only binaries for Alpine|
|Official YUM repo||Yes||No|
|Official APT repo||Yes||No|
Manticore Search has a strong community, its knowledge will help you with any questions.
Talk to us on
YUM repo for RedHat and CentOS
HomeBrew for MacOS