Skip to content

Web-Dev-Collaborative/manticoresearch

 
 

Repository files navigation

Manicore Search Logo

Manticore Search 3.6.0

WebsiteDownloadsDocsCoursesForumChatTwitter

 

Introduction

Manticore Search is a 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 super big 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)
  • 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

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

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

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

sudo apt-key adv --fetch-keys 'http://repo.manticoresearch.com/GPG-KEY-manticore'
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 channels

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

More details here

❤️ 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:

Analytics

Packages

No packages published

Languages

  • C++ 70.6%
  • HTML 12.7%
  • C 7.7%
  • PHP 2.8%
  • CMake 2.6%
  • Yacc 1.0%
  • Other 2.6%