О Manticore Search
Manticore Search — простая и быстрая база данных с открытым исходным кодом для поиска
Manticore Search — база данных с открытым исходным кодом, созданная в 2017 году как продолжение поискового движка Sphinx Search . Мы развили его сильные стороны, значительно расширили функциональность и исправили сотни ошибок , сохранив открытый исходный код. Благодаря этому Manticore Search стала современной, быстрой, легковесной и полнофункциональной базой данных с выдающимися возможностями полнотекстового поиска.

Наши цели и задачи
Простота использования
Мы считаем, что в современном мире любой разработчик технологий должен прежде всего заботиться о простоте использования. Наша цель — чтобы пользователям, будь то разработчики или DevOps-инженеры, не приходилось становиться экспертами по базам данных и поисковым системам или получать учёную степень, чтобы эффективно пользоваться продуктами Manticore. Мы понимаем, что у наших пользователей есть другие важные задачи и им незачем часами разбираться в тонкостях различных настроек и их влиянии на работу системы. Поэтому мы стремимся к тому, чтобы Manticore Search работала стабильно и эффективно с минимальной настройкой — даже с параметрами по умолчанию.
SQL / JSON
Мы любим SQL. Трудно найти более простой способ составить поисковый запрос. Большинство разработчиков знакомы с WHERE, GROUP BY и ORDER BY, поскольку эти конструкции используются уже десятилетиями. В Manticore Search запросы любого типа можно выполнять с помощью SQL. Кроме того, Manticore Search поддерживает протокол MySQL, поэтому для запросов можно использовать клиенты MySQL. При этом мы понимаем, что в коде приложения удобнее работать с более структурированными протоколами, чем со строками SQL. Поэтому Manticore Search также поддерживает JSON. Мы также предоставляем библиотеки Manticore Search для различных языков программирования, чтобы сделать интеграцию ещё проще. Подробнее в документации
.
Мультимодельная архитектура
Manticore Search поддерживает как построчное хранение данных (аналогично MySQL и Postgres), так и колоночное (аналогично Redshift, Clickhouse, BigQuery и Druid). Благодаря этому она невероятно быстро работает с небольшими наборами данных , помещающимися в оперативную память, и сохраняет высокую скорость, даже когда объём данных значительно превышает размер оперативной памяти .
Кроме того, Manticore Search предлагает два режима конфигурации: plain, в котором все таблицы задаются в конфигурационном файле (подобно YAML-файлам k8s), и real-time, в котором таблицы создаются, изменяются и удаляются командами CREATE/ALTER/DROP TABLE. Подробнее в документации .
Производительность и потребление ресурсов
Performance and resource consumption matter. Written in C++, Manticore Search makes efficient use of memory and CPU. In the current reproducible Fair Database Benchmarks , Manticore Search 27.1.5 is 340x faster than MySQL 9.7.1 for 1.1M Hacker News comments, 3.85x faster than tuned Elasticsearch 9.4.3 for 100M+ comments, and 5.03x faster than tuned Elasticsearch 9.4.3 for selected DevOps queries on 10M Nginx logs. On that Nginx dataset, it ingested data in 5m 46s vs 10m 15s while averaging 3.98 GB vs 36.98 GB RAM. Results vary by workload.
Расширенные возможности поиска
Manticore Search предоставляет мощные возможности поиска. Она сочетает расширенный полнотекстовый поиск с нечётким сопоставлением, умными подсказками для запросов, фильтрацией, фасетным поиском и другими инструментами, которые помогают сделать поиск удобным и привлекательным для пользователей. Подробнее в документации .
Альтернатива Elasticsearch
Manticore Search — надёжная альтернатива Elasticsearch. Она может без лишних сложностей заменить Elasticsearch, частично воспроизводя его интерфейс и позволяя продолжить работу с привычными инструментами, такими как Kibana и Logstash. Благодаря этой совместимости существующие проекты на базе Elasticsearch легко перенести на Manticore Search и получить преимущества в производительности без существенных изменений инфраструктуры.
Аутентификация и авторизация
Manticore Search включает встроенную аутентификацию и детальную авторизацию. Защитите доступ через SQL/MySQL, HTTP/HTTPS и операции, связанные с репликацией, с помощью учётных данных пользователей или Bearer-токенов, а затем предоставляйте только те права, которые нужны каждому приложению, процессу загрузки данных или администратору. Аутентификация включается по желанию, поэтому её можно добавить, когда развёртывание будет к этому готово. Подробнее в документации .
Простое масштабирование
Учитывая высокие отраслевые стандарты и потребности наших клиентов, мы спроектировали Manticore так, чтобы её было легко масштабировать. Независимо от масштаба и сложности поисковой задачи — будь то небольшой сайт, аналитика по миллиардам записей журналов или создание многоязычного каталога с петабайтами данных из разных источников — её можно решить с помощью Manticore Search. Мы также считаем, что такие возможности, как репликация и распределение поисковой нагрузки, должны быть простыми в использовании и обслуживании. Подробнее в документации .
Мощные возможности полнотекстового поиска
Manticore Search изначально создавалась как специализированный движок полнотекстового поиска и обладает исключительными возможностями полнотекстового поиска: более 20 полнотекстовых операторов и свыше 20 факторов ранжирования, несколько встроенных алгоритмов ранжирования и настраиваемый алгоритм на основе выражений. Она также поддерживает стемминг и лемматизацию текста, стоп-слова, синонимы, словоформы, низкоуровневое преобразование символов, корректную сегментацию китайского текста, простое выделение найденных фрагментов, а также плагины ранжирования и токенизации — и это далеко не всё. Подробнее в документации .
Интеграции
Мы считаем, что Manticore Search должна легко интегрироваться в существующий технологический стек. Поэтому Manticore умеет без дополнительной настройки считывать данные из MySQL, Postgres, MSSQL, ODBC, XML, CSV и TSV. Её также можно интегрировать с MySQL в качестве движка или обращаться к ней через ProxySQL. Кроме того, Manticore Search легко интегрируется с Logstash, Apache Superset, Grafana и другими инструментами с открытым исходным кодом. Подробнее в документации .
Открытый исходный код
Как сторонники открытого исходного кода, мы убеждены, что такие технологии, как базы данных, должны быть открытыми. Поэтому Manticore Search и все остальные продукты Manticore доступны публично по лицензиям с открытым исходным кодом, одобренным OSI. Вы найдёте нас на GitHub .
Векторный и гибридный поиск
Manticore Search поддерживает векторный поиск для поиска похожих объектов, рекомендаций, семантического поиска и гибридного извлечения данных. Используя эмбеддинги — представления данных в многомерном пространстве, — она помогает создавать интеллектуальные и точные поисковые решения. Благодаря KNN-поиску (поиску k ближайших соседей) на основе эффективного алгоритма HNSW Manticore поддерживает гибкую настройку векторов и такие метрики сходства, как косинусное сходство, скалярное произведение и квадрат расстояния L2. Простая интеграция через API SQL и JSON обеспечивает совместимость с существующими рабочими процессами. Подробнее в документации .
Диалоговый поиск
Manticore Search позволяет организовать диалоговый поиск по имеющимся векторизованным данным. С помощью поставщика LLM она находит релевантные документы посредством KNN-поиска, формирует из них контекст, сохраняет историю диалога и возвращает ответы вместе со строками исходных данных. Настройте модели для чата и задавайте вопросы через SQL или HTTP JSON-эндпоинт /search; задайте инструкции по оформлению ссылок на источники, тону, формату и длине ответа. Подробнее в документации
.
Документация
Мы понимаем, насколько важно быстро приступить к работе с новой технологией. Однако существующие движки документации нас не устраивали, поэтому мы создали собственный. Наш движок документации на базе Manticore Search использует поиск Manticore Search, а также предлагает удобные вкладки с примерами кода и множество других возможностей.
Интерактивные курсы
Чтобы знакомство с Manticore Search стало ещё проще, мы также предлагаем бесплатные интерактивные курсы . Они помогут легко освоить Manticore Search: от установки и настройки до геопоиска, функции "Возможно, вы имели в виду", автодополнения и реализации фасетного поиска.

