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

Наши цели и задачи
Простота использования
Мы считаем, что в современном мире основной упор любого поставщика технологий должен быть сделан на простоту использования. Наша цель — чтобы наши пользователи, будь то разработчики или devops‑специалисты, не вынуждены были становиться экспертами в базах данных или поисковых движках, или иметь степень PhD, чтобы эффективно использовать продукты 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, в котором все таблицы задаются в конфигурационном файле (аналогично k8s yaml), и real-time, в котором таблицы создаются, изменяются и удаляются с помощью команд CREATE/ALTER/DROP TABLE.
Производительность и потребление ресурсов
Мы считаем, что производительность и потребление ресурсов важны. Поэтому Manticore Search написан на C++, языке программирования, часто используемом для создания операционных систем, браузеров и другого программного обеспечения, где критичны производительность и эффективность использования ресурсов. Программирование на C++ может быть сложным и трудоёмким, но это позволяет нам обеспечить минимальное использование ОЗУ и максимальную эффективность ЦП. Согласно Fair database benchmarks https://db-benchmarks.com , Manticore Search является: в 15 раз быстрее Elasticsearch на маленьких данных , в 4 раза быстрее на больших данных и в 29 раз быстрее для аналитики логов .
Расширенные возможности поиска
Manticore Search предоставляет мощные возможности поиска, включая эффективный векторный поиск. Вы можете хранить и искать векторные эмбеддинги, одновременно используя продвинутый полнотекстовый поиск, нечеткое сопоставление и умные подсказки запросов — аналогично Google. Это помогает создать плавный и увлекательный поисковый опыт для ваших пользователей.
Альтернатива Elasticsearch
Manticore Search выступает в качестве надёжной альтернативы Elasticsearch. Он может без проблем заменить Elasticsearch, частично эмулируя его интерфейс, позволяя продолжать использовать знакомые инструменты, такие как Kibana или Logstash. Эта совместимость упрощает миграцию ваших существующих проектов на базе Elasticsearch к Manticore Search, используя преимущества в производительности без значительных изменений инфраструктуры.
Лёгкая масштабируемость
Опираясь на высокие отраслевые стандарты и потребности наших клиентов, мы разработали 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 и другими open-source инструментами.
Открытый исходный код
Как энтузиасты открытого исходного кода, мы твёрдо убеждены, что такие технологии, как базы данных, должны быть открытыми. С учётом этого мы сделали Manticore Search и все остальные продукты Manticore общедоступными под лицензиями открытого исходного кода, одобренными OSI. Вы можете найти нас на GitHub .
Векторный поиск
Manticore Search предоставляет векторный поиск для таких функций, как поиск по сходству, рекомендации и семантический поиск. Используя эмбеддинги (представления данных в многомерном пространстве), он помогает создавать интеллектуальные и точные поисковые опыты. Применяя поиск KNN (k‑ближайших соседей) с эффективным алгоритмом HNSW, Manticore поддерживает гибкие векторные конфигурации и метрики сходства, такие как косинусное сходство, скалярное произведение и квадрат расстояния L2. Интеграция происходит бесшовно через SQL и JSON API, обеспечивая лёгкую совместимость с существующими рабочими процессами.
Документация
Мы понимаем важность быстрого начала работы с новой технологией. Однако существующие движки документации нас не устраивали, поэтому мы создали свой собственный. Наш движок документации, создано с помощью Manticore Search , предлагает поиск, работающий на Manticore Search, а также удобные вкладки с примерами кода и множество других функций.
Интерактивные курсы
Чтобы ещё проще познакомиться с Manticore Search, мы также предлагаем бесплатные интерактивные курсы , которые помогут вам легко изучить Manticore Search — начиная с установки и настройки, и переходя к темам, таким как геопоиск, функция «Вы имели в виду», автодополнение и реализация фасетирования.

