• Stars
    star
    8,821
  • Rank 4,123 (Top 0.09 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon

Manticore Search Logo

WebsiteDownloadsDocsBlogCoursesForumSlackTelegram (En)Telegram (Ru)Twitter

 

Introduction

License: GPLv2 Twitter Follow Slack Docker pulls Newsletter Activity GitHub closed issues

Read recent blog post about Manticore vs Elasticsearch

Manticore Search is an easy to use open source fast database for search. Good alternative for Elasticsearch. What distinguishes it from other solutions is:

  • It's very fast and therefore more cost-efficient than alternatives, for example Manticore is:
  • With its modern multithreading architecture and efficient query parallelization capabilities, Manticore is able to fully utilize all your CPU cores to achieve the quickest response times possible.
  • The powerful and speedy full-text search works seamlessly with both small and large datasets.
  • Row-wise storage for small, medium and big size datasets.
  • For even larger datasets, Manticore offers columnar storage support through the Manticore Columnar Library, capable of handling datasets too big to fit in RAM.
  • Performant secondary indexes are automatically created, saving you time and effort.
  • The cost-based query optimizer optimizes search queries for optimal performance.
  • Manticore is SQL-first, utilizing SQL as its native syntax, and offers compatibility with the MySQL protocol, allowing you to use your preferred MySQL client.
  • With clients available in PHP, Python, JavaScript, Java, Elixir, and Go, integration with Manticore Search becomes easy.
  • Manticore also provides a programmatic HTTP JSON protocol for more versatile data and schema management.
  • Built in C++, Manticore Search starts quickly and uses minimal RAM, with low-level optimizations contributing to its impressive performance.
  • With real-time inserts, newly added documents are immediately accessible.
  • Interactive courses are available through Interactive courses to make learning a breeze.
  • Manticore also boasts built-in replication and load balancing for added reliability.
  • Data can be synced from sources such as MySQL, PostgreSQL, ODBC, xml, and csv with ease.
  • While not fully ACID-compliant, Manticore still supports transactions and binlog to ensure safe writes.
  • Effortless data backup and recovery with built-in tools and SQL commands

Craigslist, Socialgist, PubChem, Rozetka 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 experiment with Manticore Search in Docker just run:

docker run -e EXTRA=1 --name manticore --rm -d manticoresearch/manticore && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; done && docker exec -it manticore mysql && docker stop manticore

You can then: create a table, 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');

Note that upon exiting the MySQL client, the Manticore container will be stopped and removed, resulting in no saved data, 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/Amazon/Oracle Linux

sudo yum install https://repo.manticoresearch.com/manticore-repo.noarch.rpm
sudo yum install manticore manticore-extra

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-extra

Homebrew on MacOS

brew install manticoresoftware/tap/manticoresearch manticoresoftware/tap/manticore-extra

Windows

See instruction here.

Documentation and community sites

Third-party integrations

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:

More Repositories

1

manticoresearch-php

Official PHP client for Manticore Search
PHP
164
star
2

columnar

Manticore Columnar Library
C++
81
star
3

docker

Official docker for Manticore Search
Shell
64
star
4

go-sdk

Go client for Manticore Search
Go
54
star
5

manticoresearch-python

Official Python client for Manticore Search
Python
40
star
6

manticoresearch-java

Official Java client for Manticore Search
Java
38
star
7

manticoresearch-helm

Helm chart for Manticore Search
PHP
33
star
8

manticoresearch-net

Official .NET client for Manticore Search
C#
33
star
9

manticoresearch-javascript

Official Javascript client for Manticore Search
JavaScript
32
star
10

manticoresearch-go

Official Go client for Manticore Search
Shell
22
star
11

manticoresearch-buddy

Manticore Buddy is a Manticore Search's sidecar which helps it with various tasks
PHP
20
star
12

manticoresearch-elixir

Official Elixir client for Manticore Search
Elixir
15
star
13

es2ms

Elasticsearch -> Manticore Search data migration tool
PHP
8
star
14

manticoresearch-typescript

Official TypeScript client for Manticore Search
TypeScript
8
star
15

manticoresearch-prometheus

PHP
6
star
16

plugins

Plugins and user defined function (UDFs) for Manticore Search
C
5
star
17

lemmatizer-uk

UK lemmatizer for Manticore Search
C
4
star
18

clt

Command Line Tester
Rust
4
star
19

demos

Collection of code samples showing how to implement some Manticore Search features
PHP
4
star
20

openapi

Manticore Search clients generator
Mustache
4
star
21

executor

Custom build of PHP used by Manticore
Shell
4
star
22

benchmarks

automated benchmarks of Manticore vs different technologies
Shell
3
star
23

manticoresearch-backup

Repository for Manticore Search backup scripts
PHP
3
star
24

php-ext-model

Sentence Transformer model inference with PHP and HuggingFace candle ML framework wrapper
Rust
3
star
25

homebrew-tap-old

The official Manticore Search Homebrew Tap
Ruby
3
star
26

manticore-github-issue-search

Demo: GitHub search with Manticore Search
PHP
3
star
27

buddy-core

Manticore Buddy plugins core
PHP
1
star
28

phar_builder

Tools to build executor-related php projects
Dockerfile
1
star
29

wordpress

Manticore Search wordpress extension
PHP
1
star
30

buddy-plugin-create-table

The Buddy create sharded table plugin
PHP
1
star