Manticore Search 4.0.3
Website • Downloads • Docs • Courses • Forum • Chat • Twitter
Introduction
Manticore Search is a multi-storage database designed specifically for search, including full-text search. What differs it from other solutions is:
- Powerful and fast full-text searching which works fine for small and big datasets
- Traditional row-wise storage for small, medium and big size datasets
- Columnar storage support via Manticore Columnar Library for bigger datasets (much bigger than can be 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)
- Clients for PHP, Python, Javascript, Java, Go
- JSON over HTTP: to provide more programmatic way to manage your data and schemas Manticore provides HTTP JSON protocol
- 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
Craigslist, Socialgist, PubChem and many others use Manticore for efficient searching and stream filtering.
Manticore Search was forked from Sphinx 2.3.2 in 2017.
More features
- Full-text search and relevance:
- Over 20 full-text operators and over 20 ranking factors
- Custom ranking
- Other search capabilities:
- Rich filtering functionality
- Faceted search
- Geo-spatial search
- Spell correction
- Autocomplete
- Wide range of functions for filtering and data manipulation
- NLP:
- Stream filtering using a "percolate" index
- High-availability:
- Data can be distributed across servers and data-centers
- Synchronous replication
- Built-in load balancing
- Security:
- Data storages:
- row-wise - requires more RAM, gives faster performance
- columnar - requires less RAM, still gives decent performance, but lower than the row-wise storage for some kinds of queries
- docstore - doesn't require RAM at all, but allows only fetching original value, not sorting/grouping/filtering
- Data types:
- full-text field - inverted index
- int, bigint and float numeric fields in row-wise and columnar fashion
- multi-value attributes (array)
- string and JSON
- on-disk "stored" for key-value purpose
- Integrations:
Installation
Docker
Docker image is available on Docker Hub.
To play with Manticore Search in Docker just run:
docker run --name manticore --rm -d manticoresearch/manticore && docker exec -it manticore mysql -w && docker stop manticore
You can then: create an index, 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/">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');
When you exit from the mysql client it stops and removes the container, 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
sudo yum install https://repo.manticoresearch.com/manticore-repo.noarch.rpm
sudo yum install manticore manticore-columnar-lib
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-columnar-lib
Homebrew on MacOS
brew install manticoresearch
Windows
See instruction here.
MacOS .dmg
See instruction here.
Documentation and community sites
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
❤️ 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: