Язык
Manticore Search - база данных для поиска
Наша история
Manticore Search появился в 2017 году как продолжение проекта Sphinx Search (который, в свою очередь, появился в 2001). Мы взяли лучшее от Sphinx (C++, упор на низкоуровневые структуры данных и оптимальные алгоритмы), добавили больше функционала, исправили массу ошибок, сделали использование гораздо удобнее, при этом оставив исходный код открытым. В итоге Manticore Search стал ещё менее ресурсоёмким и более высокопроизводительным.
Что такое Manticore?
Manticore Search – база данных с открытым исходным кодом доступная бесплатно, отличительной особенностью которой является минимальное потребление ресурсов и время отклика и высокопроизводительный полнотекстовый поиск. Manticore Search используют тысячи маленьких и больших компаний (таких как, например, Craigslist и Rozetka) для поиска по небольшому объёму данных на одной ноде и петабайтам данных на сотнях нод. Используется такая функциональность, как: полнотекстовая фильтрация, автодополнение (подсказки), подсветка найденных результатов, исправление ошибок, поиск схожих документов, фасетный поиск и многие другие поисковые функции.
Manticore или Sphinx?
Чем Manticore отличается от Sphinx:
- Сотни исправленных багов
- Более высокая производительность
- Добавлено много нового: Обратный поиск, Репликация, Улучшенная подсветка, новый формат индексов, новые режимы доступа к индексам, HTTP JSON интерфейс, более легкая морфология, оператор OR в WHERE, поддержка HTTPS, поддержка MySQL FEDERATED и ProxySQL и многое другое
- Обновлённая документация и интерактивные курсы
- Премиальные сервисы по поддержке клиентов
Более детальное сравнение вы можете найти здесь.
Ключевые особенности:
- Быстрая индексация и поиск в реальном времени
- Внутреннее хранилище документов
- Масштабируемость до сотен нод
- Фасетный поиск
- Разумное использование оперативной памяти и диска
- Поддержка многоязычной морфологии
- Нативная поддержка SQL для более легкого составления запросов
- HTTP JSON протокол для легкой совместимости с приложениями
Функции в деталях
Используйте множество поисковых операторов и выражений, чтобы дать вашим пользователям возможность найти то, что им действительно нужно.
Manticore позволяет хранить оригинальные тексты документов на диске в сжатом виде, не занимая при этом места в памяти и имея доступ к ним с минимальной задержкой.
Самый простой и интуитивно понятный способ составления запросов, позволяющий очень быстро освоить технологию.
Индексы реального времени гарантируют, что данные будут доступны для поиска без какой-либо задержки после добавления в индекс.
Синхронная репликация для индексов реального времени и PQ
Manticore позволяет гибко настроить формулу ранжирования поисковых результатов.
Поиско бъектов по координатам с помощью встроенных функций гео-поиска по радиусу/полигону
При необходимости, вы можете настроить морфологию на уровне символов
Manticore поддерживает не только SQL, но и JSON-запросы через HTTP
Индексы типа Percolate Queries позволяют осуществлять высокопроизводительную полнотекстовую фильтрацию потока данных с документами в json или простом формате.
Встроенный оператор ‘FACET’ позволяет реализовать фасетный поиск с помощью всего нескольких строк кода.
Manticore Search может легко индексировать MySQL/Postgres/CSV/TSV. Потребуется добавить только несколько строк в конфигурационный файл.
Manticore позволяет индексировать данные из любых хранилищ, поддерживающих ODBC. Для иных случаев есть способ индексации “xmlpipe”.
Десятки встроенных функций и операторов позволяют выполнять не только поиск, но и аналитические запросы. Manticore также поддерживает функции, определяемые пользователем (UDF)
В большинстве случаев, вам вообще не нужно думать о морфологии поиска. Manticore поддерживает большинство языков.
Работает в Linux, Windows, Macos и в Docker.
Широкий спектр услуг по поддержке Manticore и Sphinx Search
- Аудит
- Поддержка
- Консультации
- Разработка
- Тренинги
Сравнение Manticore и Sphinx
![]() | ![]() |
|
---|---|---|
Основное | ||
Открытый исходный код | Да | Нет, окрытый исходный код имеют только старые версии |
Лицензия | GPLv2 | Delayed FOSS, Commercial |
Производительность | До 2 раз выше | |
Стабильность | Выше (основано на отзывах клиентов мигрировавших на Manticore со Sphinx 2/3) | |
Известные крэши или критические баги (начиная с 2019) | Всего - 279, Актуальных- 72, Исправленных - 207 | Всего - 40, Актуальных - 40, Исправленных - 0 |
Количество релизов (начиная с 2019) | 12 | 1 |
Последний релиз | 3.5.4 (11 декабря 2020) | 3.3.1 (6 июля 2020) |
Функционал | ||
Многопоточные Real-time индексы | Да | Нет |
Источники для индексации | MySQL, PostgreSQL, MSSQL, XML , CSV/TSV, ODBC | MySQL, PostgreSQL, MSSQL, XML, CSV/TSV, ODBC |
Типы индексов | Обычный (plain), Real-time, шаблоны (template), распределённый (distributed), обратный (percolate) | Обычный (plain), Real-time, шаблоны (template), распределённый (distributed) |
Зеркалирование и load balancing | Да | Да |
Обратный поиск (Percolate) | Да | Нет |
Репликация | Да | Нет |
Морфология | Автоматическая токенизация большинства языков. Стоп-слова для 50 языков. Сегментация Китайского. 25 стеммеров. Лемматизаторы для 3 языков. | По умолчанию токенизация только русского/английского. Лемматизаторы для 3 языков. 15 стеммеров. |
Хранилище документов | Да | Да |
Вторичный индекс | Нет | Да |
OR в WHERE | Да | Нет |
Больше строковых функций | Да | Нет |
Конвертация индексов из Manticore / Sphinx v2 | Да | Нет |
Неблокирующая ротация индексов | Да | Нет |
Умная ротация plain индексов | Да | Нет |
Безопасность: поддержка https | Да | Нет |
EXPLAIN QUERY | Да | Нет |
Поддержка сообщества и сервисы | ||
Бесплатный аудит | Да | Нет |
Форум | Да | Да |
Публичный чат | Slack | Нет |
Багтрекер | Github | Mantis |
Принятые pull-реквесты | 12 | 0 |
Публикации в 2020 | 37 | 1 |
Интерактивные курсы | Да | Нет |
Интеграции | ||
SphinxSE | Да | Да |
MySQL/MariaDB FEDERATED engine | Да | Нет |
ProxySQL | Да | Нет |
Интерфейсы | ||
SphinxQL | Да | Да |
Binary API | Да | Да |
HTTP протокол | Да | Базовый, только реализация поиска |
Клиенты | ||
PHP | Oфициальный | Oфициальный, но не поддерживается |
Perl | Неофициальный | Oфициальный, но не поддерживается |
.NET | Неофициальный | От сообщества |
Ruby | Oфициальный | Oфициальный, но не поддерживается |
Python | Oфициальный | Oфициальный, но не поддерживается |
C++ | Oфициальный | Oфициальный, но не поддерживается |
Go | Официальный | Нет |
Java | Oфициальный | Oфициальный, но не поддерживается |
Javascript | Oфициальный | Нет |
Elixir | Oфициальный | Не официальный |
Пакеты | ||
Linux | Пакеты для Ubuntu, Debian, RHEL/Centos 6/7/8 | Архив |
Windows | Архив | Архив |
MacOS | Архив, Homebrew | Архив |
FreeBSD | Нет | Архив |
Docker | Да | Нет официального образа |
Открытый исходный код | Да | Нет |
Официальный YUM репозиторий | Да | Нет |
Официальный APT репозиторий | Да | Нет |
Homebrew Formulae | Да | No |
Сообщество
Интерактивные курсы
У нас есть замечательные интерактивные курсы, которые помогут вам легче изучить Manticore Search, начиная с того как установить и настроить до гео-поиска, автодополнения и реализации фасетного поиска.


Установка
Пакеты
Debian
Ubuntu
RHEL\CentOS
Windows
MacOS
Docker
Репозитории
YUM repo for RedHat and CentOS
HomeBrew for MacOS
Компании, которые нам доверяют
To improve the relevance of our customers’ results we use Manticore Search as our data indexing solution, and Manticore Percolate Queries for real-time filtering of data in transit. read more
JAY KRALL
VP Product, SocialGistWe’ve chosen this product because of the high performance compared to alternatives, the ability to expand the functionality with help of udf-functions and the availability of SQL-like query language. read more
IVAN IVANOV
Team leader, OWOX- We contacted Manticore’s free support on Slack with questions related to migrating form Sphinx search.In 30 minutes we had the first reply, and a few days later our issue was resolved, and we now using Manticore search to perform over 5 billion queries every day. read more
ALEXANDER SØRNES
Senior Developer, JMT Nordic We opted to migrate to Manticore instead of upgrading Sphinx since Manticore is open source and better supported. We’re very happy with our decision. read more
JOSH MAINES
Buds Gun ShopWe were using Sphinx but lately was crashing quite often and as a result making our homepage completely broken … We now only have some quick performance drops, instead of a continuous failure read more
TRANG HO & GILLES BEDEL
Спасибо за работу Вашей команды, очень грамотно проработана справочная система, проблем с её освоением никаких не возникло. Установка заняла 30 минут. При настройке сервера воникли некоторые вопросы, техподдерка среагировала в течении 30 минут и вела до самого конца решения проблемы. Решилось все апдейтом до свежей версии и тонкими настройками (которые были в help, если присмотреться по-внимательней) .
Проект живой и развивается, на наших системах показывает потрясающую скорость до 0.01с на 80М записей на простом сервере.Будем использовать Manticore и для других проектов.Сергей
Ведущий разработчик, IQsoft