Руководство составлено так, чтобы отражать наиболее вероятный способ использования Manticore:
- начиная с базовой информации о нем и о том, как установить и подключиться
- основные вещи, такие как добавление документов и выполнение поисков
- советы по оптимизации производительности, трюки и расширение Manticore с помощью плагинов и пользовательских функций
Ключевые разделы руководства отмечены 1️⃣, 2️⃣, 3️⃣ и т.д. в меню для вашего удобства, так как соответствующий функционал используется чаще всего. Если вы новичок в Manticore, мы настоятельно рекомендуем не пропускать их.
Если вы хотите быстро понять, как работает Manticore в целом, ⚡ Руководство по быстрому старту — хорошее место для начала.
Каждый пример запроса имеет маленький значок 📋 в правом верхнем углу:

Вы можете использовать его, чтобы скопировать примеры в буфер обмена. Если запрос является HTTP-запросом, он будет скопирован как команда CURL. Вы можете настроить хост/порт, нажав ⚙️.
Мы любим поиск и сделали все возможное, чтобы сделать поиск в этом руководстве максимально удобным. Конечно, он работает на базе Manticore Search. Помимо использования строки поиска, которая требует предварительного открытия руководства, есть очень простой способ найти что-то, просто открыв mnt.cr/your-search-keyword :

Есть несколько вещей, которые нужно понять о Manticore Search, чтобы следовать лучшим практикам его использования.
- Таблица реального времени позволяет добавлять, обновлять и удалять документы с немедленной доступностью изменений.
- Обычная таблица — это в основном неизменяемая структура данных и базовый элемент, используемый таблицами реального времени. Обычная таблица хранит набор документов, их общий словарь и настройки индексации. Одна таблица реального времени может состоять из нескольких обычных таблиц (чанков), но помимо этого Manticore предоставляет прямой доступ к созданию обычных таблиц с помощью инструмента indexer. Это имеет смысл, когда ваши данные в основном неизменяемы, и поэтому вам не нужна таблица реального времени.
Manticore Search работает в двух режимах:
- Режим реального времени (RT режим). Это режим по умолчанию, который позволяет управлять схемой данных императивно:
- позволяет управлять схемой данных онлайн с помощью SQL-команд
CREATE/ALTER/DROP TABLEи их эквивалентов в клиентах без SQL - в конфигурационном файле нужно определить только настройки, связанные с сервером, включая data_dir
- позволяет управлять схемой данных онлайн с помощью SQL-команд
- Обычный режим позволяет определять схемы данных в конфигурационном файле, то есть обеспечивает декларативное управление схемой. Это имеет смысл в трех случаях:
- когда вы работаете только с обычными таблицами
- или когда ваша схема данных очень стабильна и вам не нужна репликация (которая доступна только в RT режиме)
- когда вам нужно сделать схему данных переносимой (например, для более простого развертывания на новом сервере)
Вы не можете комбинировать два режима и должны выбрать, какой из них использовать, указав data_dir в вашем конфигурационном файле (что является поведением по умолчанию). Если вы не уверены, наша рекомендация — использовать RT режим, так как даже если вам нужна обычная таблица, вы можете создать ее с отдельной конфигурацией обычной таблицы и импортировать в ваш основной экземпляр Manticore.
Таблицы реального времени могут использоваться как в RT, так и в обычном режимах. В RT режиме таблица реального времени определяется командой CREATE TABLE, а в обычном режиме — в конфигурационном файле. Обычные (офлайн) таблицы поддерживаются только в обычном режиме. Обычные таблицы нельзя создавать в RT режиме, но существующие обычные таблицы, созданные в обычном режиме, можно конвертировать в таблицы реального времени и импортировать в RT режиме.
Manticore предоставляет несколько способов и интерфейсов для управления схемами и данными, но основными являются:
- SQL. Это родной язык Manticore, который обеспечивает весь функционал Manticore. Лучшая практика — использовать SQL для:
- управления схемами и выполнения других DBA-операций, так как это самый простой способ
- проектирования запросов, так как SQL гораздо ближе к естественному языку, чем JSON DSL, что важно при создании чего-то нового. Вы можете использовать Manticore SQL через любой MySQL клиент или /sql.
- JSON. Большинство функций также доступны через JSON DSL. Это особенно полезно при интеграции Manticore с вашим приложением, так как с JSON это можно делать более программно, чем с SQL. Лучшая практика — сначала изучить, как сделать что-то через SQL, а затем использовать JSON для интеграции в ваше приложение.