# О Manticore Search

Manticore Search — простая в использовании, открытая, быстрая база данных для поиска. Современная, быстрая, легковесная, с выдающимися возможностями полнотекстового поиска

## Документация

Мы понимаем важность быстрого начала работы с новой технологией. Однако существующие движки документации нас не устраивали, поэтому мы создали свой собственный. Наш движок документации, [создано с помощью Manticore Search](https://manual.manticoresearch.com/), предлагает поиск, работающий на Manticore Search, а также удобные вкладки с примерами кода и множество других функций.

## Интерактивные курсы

Чтобы ещё проще познакомиться с Manticore Search, мы также предлагаем [бесплатные интерактивные курсы](https://play.manticoresearch.com/), которые помогут вам легко изучить 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), делая его [невероятно быстрым для небольших наборов данных](https://db-benchmarks.com/test-hn-small/#manticore-search-vs-elasticsearch), которые могут помещаться в ОЗУ, и при этом сохраняет скорость, когда ваши данные [значительно превышают размер ОЗУ](https://db-benchmarks.com/test-taxi/#manticore-search-vs-elasticsearch).

Кроме того, Manticore Search предлагает два режима конфигурации: **plain**, в котором все таблицы задаются в конфигурационном файле (аналогично yaml‑файлам k8s), и **real-time**, в котором таблицы создаются, изменяются и удаляются с помощью команд CREATE/ALTER/DROP TABLE.


### Производительность и потребление ресурсов

**Мы считаем, что производительность и потребление ресурсов важны**. Поэтому Manticore Search написан на C++, языке программирования, часто используемом для создания операционных систем, браузеров и другого программного обеспечения, где критичны производительность и эффективность использования ресурсов. Программирование на C++ может быть сложным и требовать времени, но это позволяет нам гарантировать, что Manticore Search использует минимум ОЗУ и максимально эффективно использует CPU. Согласно *Fair database benchmarks* https://db-benchmarks.com, Manticore Search: **в 15 раз быстрее Elasticsearch** на [небольших данных](https://db-benchmarks.com/test-hn-small/#manticore-search-vs-elasticsearch), **в 4 раза быстрее** на [больших данных](https://db-benchmarks.com/test-taxi/#manticore-search-vs-elasticsearch) и **в 29 раз быстрее** для [аналитики логов](https://db-benchmarks.com/test-logs10m/#elasticsearch-with-no-tuning-vs-manticore-search-default-row-wise-storage).

### Продвинутые возможности поиска

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

### Альтернатива Elasticsearch

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

### Лёгкая масштабируемость

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

### Кроме того, мы считаем, что такие функции, как **репликация и распределение нагрузки поиска, должны быть простыми в использовании и обслуживании**.

la la-expand-arrows-alt

### Manticore Search, изначально разработанный как чистый полнотекстовый поисковый движок, обладает **исключительными возможностями полнотекстового поиска**: более 20 полнотекстовых операторов и более 20 факторов ранжирования, предлагая разнообразные встроенные ранкеры и пользовательский ранкер на основе выражений. Кроме того, он включает такие функции, как стемминг текста, лемматизация, стоп‑слова, синонимы, формы слов, низкоуровневое отображение символов, корректное сегментирование китайского языка, простое выделение текста, ранжирование и плагины токенизации, среди многих других.

las la-language

### Открытый исходный код

Как энтузиасты открытого исходного кода, мы твёрдо верим, что такие технологии, как базы данных, должны быть открытыми. Исходя из этого, мы сделали Manticore Search и все остальные продукты Manticore общедоступными под лицензиями открытого исходного кода, одобренными OSI. Вы можете найти нас на [GitHub](https://github.com/manticoresoftware/manticoresearch/).

### Векторный и гибридный поиск

Manticore Search обеспечивает векторный поиск для таких функций, как поиск по сходству, рекомендации, семантический поиск и гибридное извлечение. Используя эмбеддинги (представления данных в многомерном пространстве), он помогает создавать интеллектуальные и точные поисковые опыты. Применяя поиск KNN (k‑ближайших соседей) с эффективным алгоритмом HNSW, Manticore поддерживает гибкие векторные конфигурации и метрики сходства, такие как косинусное сходство, скалярное произведение и квадрат расстояния L2. Интеграция происходит без проблем через SQL и JSON API, обеспечивая лёгкую совместимость с существующими рабочими процессами.

## Manticore Search — простая в использовании, открытая, быстрая база данных для поиска

Manticore Search — это открытая база данных, созданная в 2017 году как продолжение движка [Sphinx Search](https://sphinxsearch.com/). Мы построили её на основе сильных сторон, значительно улучшив функциональность и исправив [сотни ошибок](https://manual.manticoresearch.com/Changelog), сохранив открытый характер. Это сделало Manticore Search современной, быстрой, легковесной и полнофункциональной базой данных с выдающимися возможностями полнотекстового поиска.


