Прочитайте это сначала

О данном руководстве

Руководство организовано так, чтобы отразить наиболее вероятный способ использования Manticore:

  • начиная с основной информации о нем и о том, как установить и подключиться
  • основные вещи, такие как добавление документов и запуск поисков
  • советы по оптимизации производительности, хитрости и расширение Manticore с помощью плагинов и пользовательских функций
Не пропускайте 1️⃣ 2️⃣ 3️⃣

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

Руководство по быстрому старту

Если вы хотите быстро понять, как в целом работает Manticore, ⚡ Руководство по быстрому старту — хорошее место для начала.

Использование примеров

Каждый пример запроса имеет небольшой значок 📋 в правом верхнем углу:

Скопировать пример

Вы можете использовать его для копирования примеров в буфер обмена. Если запрос является HTTP-запросом, он будет скопирован как команда CURL. Вы можете настроить хост/порт, нажав ⚙️.

Поиск по этому руководству

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

быстрый поиск по руководству mnt.cr

Лучшие практики

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

Таблица реального времени против простой таблицы

  • Таблица реального времени позволяет добавлять, обновлять и удалять документы с немедленным применением изменений.
  • Простая таблица — это, в основном, неизменяемая структура данных и базовый элемент, используемый таблицами реального времени. Простая таблица хранит набор документов, их общий словарь и настройки индексации. Одна таблица реального времени может состоять из нескольких простых таблиц (чанков), но помимо этого Manticore предоставляет прямой доступ к построению простых таблиц с помощью инструмента indexer. Это имеет смысл, когда ваши данные в основном неизменяемы, и поэтому вам не нужна таблица реального времени.

Режим реального времени против простого режима

Manticore Search работает в двух режимах:

  • Режим реального времени (RT режим). Это режим по умолчанию, который позволяет управлять вашей схемой данных императивно:
    • позволяет управлять схемой данных онлайн с помощью SQL-команд CREATE/ALTER/DROP TABLE и их аналогов в клиентах без SQL
    • в конфигурационном файле необходимо определить только настройки, связанные с сервером, включая data_dir
  • Простой режим позволяет определять схемы данных в конфигурационном файле, то есть обеспечивает декларативное управление схемами. Это актуально в трёх случаях:
    • когда вы работаете только с простыми таблицами
    • или когда ваша схема данных очень стабильна и вам не нужна репликация (которая доступна только в RT режиме)
    • когда вам нужно сделать схему данных портируемой (например, для упрощения развертывания на новом сервере)

Вы не можете комбинировать два режима и должны выбрать один, указав data_dir в вашем конфигурационном файле (что является поведением по умолчанию). Если вы не уверены, мы рекомендуем использовать RT режим, так как даже если вам нужна простая таблица, вы можете построить её с помощью отдельной конфигурации простой таблицы и импортировать в ваш основной экземпляр Manticore.

Таблицы реального времени можно использовать как в RT, так и в простом режиме. В RT режиме таблица реального времени определяется командой CREATE TABLE, а в простом режиме она определяется в конфигурационном файле. Простые (офлайн) таблицы поддерживаются только в простом режиме. Простые таблицы не могут создаваться в RT режиме, но существующие простые таблицы, созданные в простом режиме, могут быть конвертированы в таблицы реального времени и импортированы в RT режиме.

SQL против JSON

Manticore предоставляет несколько способов и интерфейсов для управления схемами и данными, но два основных из них:

  • SQL. Это родной язык Manticore, который обеспечивает весь функционал Manticore. Лучшей практикой является использование SQL для:
    • управления схемами и выполнения других DBA-операций, так как это самый простой способ сделать это
    • проектирования запросов, так как SQL гораздо ближе к естественному языку, чем JSON DSL, что важно при разработке чего-то нового. Вы можете использовать Manticore SQL через любой MySQL клиент или /sql.
  • JSON. Большая часть функционала также доступна через JSON предметно-ориентированный язык. Это особенно полезно при интеграции Manticore с вашим приложением, так как с JSON это можно делать более программно, чем с SQL. Лучшей практикой является сначала изучить, как сделать что-то через SQL, а затем использовать JSON для интеграции этого в ваше приложение.
Last modified: August 28, 2025