manticoresearch README

The project's README from github.com/manticoresoftware/manticoresearch. As one markdown file: README.md.

Manticore Search Logo

Easy to use open source fast database for search

Manticore Search is an easy-to-use, open-source, and fast database designed for search. It is a great alternative to Elasticsearch.

manticoresoftware%2Fmanticoresearch | Trendshift

Website • Downloads • Docs • Blog • Courses • Forum • Slack • Telegram (En) • Telegram (Ru) • Twitter • User feedback

License: GPLv3 or later GitHub Actions Workflow Status Twitter Follow Slack Docker pulls Newsletter Activity GitHub closed issues

Introduction

What distinguishes Manticore from other solutions is:

Craigslist, Socialgist, PubChem, Rozetka and many others use Manticore for efficient searching and stream filtering.

More features

Installation

Quick install

For Linux and macOS with Homebrew, use the one-line installer:

curl https://manticoresearch.com | sh

It detects Debian/Ubuntu/Mint, RHEL/CentOS/Amazon/Oracle/Fedora-like RPM systems, and macOS with Homebrew. It configures the official Manticore repository when needed, installs manticore, starts the service when supported, and prints the result.

Common commands:

curl https://manticoresearch.com | sh -s help
curl https://manticoresearch.com | sh -s list-versions
curl https://manticoresearch.com | sh -s version 25.0.0
curl https://manticoresearch.com | sh -s dev
curl https://manticoresearch.com | sh -s upgrade

Docker

Docker image is available on Docker Hub.

To experiment with Manticore Search in Docker just run:

docker run --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.

Manual package installation

If you prefer explicit package-manager commands, use the manual instructions below or see the downloads page.

RPM repo for RHEL/CentOS/Amazon/Oracle/Fedora-like Linux

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

or use dnf when available:

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

APT repo for Ubuntu/Debian/Mint

wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo apt install ./manticore-repo.noarch.deb
sudo apt update
sudo apt install manticore

Homebrew on macOS

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

Windows

For WSL/WSL2, use the Linux installer inside the WSL distribution. For native Windows, see the Windows installation instructions.

Documentation and community sites

Third-party integrations

How we can support you

Should your company require any help - we provide full-cycle services:

More details here

❤️ How you can support Manticore Search

Manticore Search is an 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:

License

Manticore Search is distributed under GPLv3 or later. Manticore Search uses and re-distributes other open-source components. Please check the component licenses directory for details.

manticoresearch (manticoresoftware/manticoresearch)

Searching Database…

Что это такое?Manticore Search — это поисковая база данных с открытым исходным кодом, созданная для полнотекстового, векторного и гибридного поиска с индексацией в реальном времени и поддержкой SQL. Позиционируется как быстрая и экономичная альтернатива Elasticsearch.
Это сервер базы данных, который я запускаю, или библиотека, которую я встраиваю?Это самостоятельный сервер базы данных с собственным диалектом SQL, протоколом, совместимым с MySQL, и HTTP JSON API. Для взаимодействия с ним существуют официальные клиентские библиотеки для PHP, Python, JavaScript, TypeScript, Java, Elixir, Go и Rust.
Как его запустить?В Linux или macOS с Homebrew есть однострочный установщик, который определяет вашу ОС, подключает официальный репозиторий, устанавливает и запускает сервис. Также можно загрузить образ Docker из Docker Hub и запустить контейнер для пробного использования.
Нужно ли, чтобы рядом были запущены MySQL или Elasticsearch?Нет, Manticore — самодостаточная база данных: для работы с ней нужен только клиент, совместимый с MySQL (или HTTP API), никакая внешняя поисковая система не требуется.
Сохранятся ли мои данные, если что-то упадёт во время записи?Manticore не полностью соответствует требованиям ACID, хотя поддерживает изолированные транзакции и двоичный журнал. Резервное копирование выполняется с помощью инструмента manticore-backup, команды SQL BACKUP или резервного копирования и восстановления через S3-совместимое хранилище.
Работает ли он и на Windows, или только на Linux/macOS?Нативные установщики есть для Linux (семейств Debian/Ubuntu и RHEL/CentOS/Fedora) и для macOS через Homebrew. В Windows предполагается использование WSL/WSL2 с установщиком для Linux, хотя также есть отдельно описанный нативный путь установки для Windows.
Насколько он быстрее Elasticsearch на практике?В приведённых бенчмарках Manticore примерно в 3,85 раза быстрее настроенного Elasticsearch на более чем 100 млн комментариев Hacker News и расходует заметно меньше процессора и оперативной памяти при загрузке логов.
Может ли он делать векторный поиск наряду с обычным полнотекстовым?Да, гибридный поиск объединяет полнотекстовый и векторный поиск в одном запросе. Уже векторизованные таблицы могут даже обеспечивать диалоговый поиск с извлечением по методу KNN и ответами, которые формирует языковая модель, через SQL-команду CALL CHAT или конечную точку HTTP /search.
Что будет с моими данными, если я просто попробую через Docker?Быстрый контейнер Docker предназначен только для тестирования: как только вы выйдете из клиента MySQL, контейнер остановится и будет удалён вместе со всеми созданными вами данными.
Справится ли он с наборами данных, которые не помещаются в оперативную память?Да, его колоночное хранилище (на основе библиотеки Manticore Columnar Library) специально рассчитано на наборы данных больше доступной оперативной памяти, жертвуя частью скорости запросов ради значительно меньшего потребления памяти.
Size
108.6 MB
Stars
12.1K
Age
9y
Commits · 90 Days