Запуск Manticore вручную

Вы также можете запустить Manticore Search, вызвав напрямую searchd (исполняемый файл сервера Manticore Search):

searchd [OPTIONS]

Обратите внимание, что без указания пути к файлу конфигурации searchd попытается найти его в нескольких местах в зависимости от операционной системы.

Параметры командной строки searchd

Доступные для searchd во всех операционных системах параметры:

  • --help (сокращённо -h) выводит список всех параметров, которые могут быть использованы в вашей конкретной сборке searchd.

  • --version (сокращённо -v) показывает информацию о версии Manticore Search.

  • --quiet (сокращённо -q) подавляет вывод при запуске, кроме ошибок (баннер и сообщения о предварительном кэшировании).

  • --config <file> (сокращённо -c <file>) указывает searchd использовать указанный файл в качестве конфигурации.

  • --stop используется для асинхронной остановки searchd, используя данные PID-файла, указанного в конфигурационном файле Manticore. Поэтому вам также может потребоваться указать searchd, какой конфигурационный файл использовать, с помощью опции --config. Пример:

    $ searchd --config /etc/manticoresearch/manticore.conf --stop
  • --stopwait используется для синхронной остановки searchd. --stop по сути говорит запущенному экземпляру завершиться (отправляя ему SIGTERM) и затем немедленно возвращает управление. --stopwait также попытается дождаться, пока запущенный экземпляр searchd фактически завершит процесс остановки (например, сохранит все ожидающие изменения атрибутов) и завершится. Пример:

    $ searchd --config /etc/manticoresearch/manticore.conf --stopwait

    Возможные коды завершения следующие:

    • 0 при успехе
    • 1 если не удалось подключиться к запущенному серверу searchd
    • 2 если сервер сообщил об ошибке во время остановки
    • 3 если сервер аварийно завершился во время остановки
  • Команда --status используется для запроса статуса запущенного экземпляра searchd, используя данные подключения из (опционально) предоставленного конфигурационного файла. Она попытается подключиться к запущенному экземпляру, используя первый найденный UNIX-сокет или TCP-порт из конфигурационного файла. В случае успеха она запросит ряд значений статуса и счётчиков производительности и выведет их. Вы также можете использовать команду SHOW STATUS для доступа к тем же самым счётчикам через SQL-протокол. Примеры:

    $ searchd --status
    $ searchd --config /etc/manticoresearch/manticore.conf --status
  • --pidfile используется для явного принудительного использования PID-файла (где хранится идентификационный номер процесса searchd) несмотря на любые другие отладочные опции, которые говорят об обратном (например, --console). Это отладочная опция.

    $ searchd --console --pidfile
  • --console используется для принудительного перевода searchd в консольный режим. Обычно Manticore работает как обычное серверное приложение и записывает информацию в файлы журналов (как указано в конфигурационном файле). Однако при отладке проблем в конфигурации или самом сервере, или при попытке диагностировать трудноуловимые проблемы, может быть проще заставить его выводить информацию напрямую в консоль/командную строку, из которой он был вызван. Запуск в консольном режиме также означает, что процесс не будет разветвляться (поэтому поиски выполняются последовательно) и журналы не будут записываться. (Следует отметить, что консольный режим не является предназначенным методом для запуска searchd.) Вы можете вызвать его так:

    $ searchd --config /etc/manticoresearch/manticore.conf --console
  • Опции --logdebug, --logreplication, --logdebugv и --logdebugvv включают дополнительный отладочный вывод в журнал сервера. Они различаются по уровню детализации журналирования. Это отладочные опции, и их обычно не следует включать, так как они могут сильно засорить журнал. Их можно временно использовать по запросу для помощи в сложных сессиях отладки.

  • --iostats используется вместе с опциями журналирования (query_log должен быть активирован в manticore.conf) для предоставления более подробной информации по каждому запросу о операциях ввода/вывода, выполненных в ходе этого запроса, с небольшим снижением производительности и немного большими журналами. Статистика IO не включает информацию об операциях IO для атрибутов, так как они загружаются с помощью mmap. Чтобы включить её, вы можете запустить searchd следующим образом:

    $ searchd --config /etc/manticoresearch/manticore.conf --iostats
  • --cpustats используется для предоставления отчёта о фактическом времени процессора (в дополнение к реальному времени) как в файле журнала запросов (для каждого заданного запроса), так и в отчёте о статусе (агрегированном). Это зависит от системного вызова Linux clock_gettime() или переходит к менее точному вызову на определённых системах. Вы можете запустить searchd так:

    $ searchd --config /etc/manticoresearch/manticore.conf --cpustats
  • --port portnumber (сокращённо -p) используется для указания порта, который Manticore должен прослушивать для принятия запросов по бинарному протоколу, обычно для целей отладки. Обычно по умолчанию это 9312, но иногда вам нужно запустить его на другом порту. Указание его в командной строке переопределит всё, указанное в конфигурационном файле. Допустимый диапазон — от 0 до 65535, но порты с номерами 1024 и ниже обычно требуют привилегированной учётной записи для запуска.

    Пример использования:

    $ searchd --port 9313
  • --listen ( address ":" port | port | path ) [ ":" protocol ] (или сокращённо -l) Работает как --port, но позволяет указать не только порт, но и полный путь, IP-адрес и порт, или путь к Unix-доменному сокету, который будет прослушивать searchd. Другими словами, вы можете указать либо IP-адрес (или имя хоста) и номер порта, либо просто номер порта, либо путь к Unix-сокету. Если вы укажете номер порта, но не адрес, searchd будет прослушивать все сетевые интерфейсы. Unix-путь идентифицируется начальным слэшем. В качестве последнего параметра вы также можете указать обработчик протокола (слушатель), который будет использоваться для соединений на этом сокете. Поддерживаемые значения протокола: 'sphinx' и 'mysql' (протокол MySQL, используемый с версии 4.1).

  • --force-preread запрещает серверу обслуживать любые входящие соединения до завершения предварительного чтения файлов таблиц. По умолчанию при запуске сервер принимает соединения, пока файлы таблиц лениво загружаются в память. Эта опция расширяет поведение и заставляет его ждать, пока файлы не будут загружены.

  • --index (--table) <table> (или сокращённо -i (-t) <table>) заставляет этот экземпляр searchd обслуживать только указанную таблицу. Как и --port выше, это обычно для целей отладки; более долгосрочные изменения обычно следует вносить в сам конфигурационный файл.

  • --strip-path удаляет пути из всех имен файлов, на которые ссылается таблица (стоп-слова, формы слов, исключения и т.д.). Это полезно для использования таблиц, созданных на другой машине с возможными отличиями в расположении путей.

  • Переключатель --replay-flags=<OPTIONS> можно использовать для указания списка дополнительных опций воспроизведения бинарного лога. Поддерживаемые опции:

    • accept-desc-timestamp — игнорировать понижающиеся временные метки транзакций и воспроизводить такие транзакции в любом случае (поведение по умолчанию — выход с ошибкой).
    • ignore-open-errors — игнорировать отсутствие файлов binlog (поведение по умолчанию — выход с ошибкой).
    • ignore-trx-errors — игнорировать любые ошибки транзакций и пропустить текущий файл binlog (поведение по умолчанию — выход с ошибкой).
    • ignore-all-errors — игнорировать все описанные выше ошибки (поведение по умолчанию — выход с ошибкой).

    Пример:

      $ searchd --replay-flags=accept-desc-timestamp
  • --coredump используется для включения сохранения core-файла или минидампа сервера при сбое. По умолчанию отключено для ускорения перезапуска сервера после сбоя. Это полезно для целей отладки.

    $ searchd --config /etc/manticoresearch/manticore.conf --coredump
  • --new-cluster инициализирует кластер репликации и делает сервер эталонным узлом с защитой перезапуска кластера. В Linux также можно запустить manticore_new_cluster. Он запустит Manticore в режиме --new-cluster через systemd.

  • --new-cluster-force инициализирует кластер репликации и делает сервер эталонным узлом, обходя защиту перезапуска кластера. В Linux также можно запустить manticore_new_cluster --force. Он запустит Manticore в режиме --new-cluster-force через systemd.

  • --mockstack анализирует и выводит необходимые размеры стека для рекурсивной оценки выражений, операций сопоставления с образцом и обработки фильтров. Эта отладочная опция выводит рассчитанные требования к стеку в консоль для целей оптимизации. Вывод содержит переменные окружения, которые можно использовать для настройки требований к стеку для разных операций.

    Пример:

    $ searchd --mockstack
    Manticore 7.4.7 e90b5afbb@25032706 dev (columnar 4.1.2 15bbcc7@25031206) (secondary 4.1.2 15bbcc7@25031206) (knn 4.1.2 15bbcc7@25031206)
    Copyright (c) 2001-2016, Andrew Aksyonoff
    Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
    Copyright (c) 2017-2025, Manticore Software LTD (https://manticoresearch.com)
    
    export MANTICORE_KNOWN_CREATE_SIZE=200
    export MANTICORE_START_KNOWN_CREATE_SIZE=4504
    export MANTICORE_KNOWN_EXPR_SIZE=16
    export MANTICORE_START_KNOWN_EXPR_SIZE=200
    export MANTICORE_NONE=32
    export MANTICORE_START_NONE=104
    export MANTICORE_KNOWN_FILTER_SIZE=224
    export MANTICORE_START_KNOWN_FILTER_SIZE=11192
    export MANTICORE_KNOWN_MATCH_SIZE=320
    export MANTICORE_START_KNOWN_MATCH_SIZE=14552
    export NO_STACK_CALCULATION=1

Опции для Windows

Существуют некоторые опции для searchd, специфичные для платформ Windows, связанные с обработкой как службы, и доступны только в бинарных файлах для Windows.

Обратите внимание, что в Windows searchd по умолчанию запускается в режиме --console, если он не установлен как служба.

  • --install устанавливает searchd как службу в Microsoft Management Console (Панель управления / Администрирование / Службы). Любые другие параметры, указанные в командной строке вместе с --install, также будут включены в командную строку при последующих запусках службы. Например, при вызове searchd вам, вероятно, потребуется также указать конфигурационный файл с помощью --config, и это нужно делать вместе с --install. После установки будут доступны обычные средства запуска/остановки через консоль управления, поэтому любые методы управления службами также применимы к searchd. Пример:

    C:\WINDOWS\system32> C:\Manticore\bin\searchd.exe --install
       --config C:\Manticore\manticore.conf

    Если вы хотите видеть статистику ввода-вывода при каждом запуске searchd, нужно указать опцию в той же строке, что и команда --install, следующим образом:

    C:\WINDOWS\system32> C:\Manticore\bin\searchd.exe --install
       --config C:\Manticore\manticore.conf --iostats
  • --delete удаляет службу из Microsoft Management Console и других мест регистрации служб после ее предыдущей установки с --install. Обратите внимание, что это не удаляет программное обеспечение и не удаляет таблицы. Это означает, что служба не будет вызываться системой служб и не будет запускаться при следующем старте машины. Если служба запущена в данный момент, текущий экземпляр не будет завершен (до следующей перезагрузки или до вызова --stop). Если служба была установлена с кастомным именем (с помощью --servicename), то при удалении нужно указать то же имя с --servicename. Пример:

    C:\WINDOWS\system32> C:\Manticore\bin\searchd.exe --delete
  • --servicename <name> задает данное имя для searchd при установке или удалении службы, как оно будет отображаться в консоли управления; по умолчанию это searchd, но если применяется на серверах с несколькими администраторами или системах с несколькими экземплярами searchd, может иметь смысл использовать более описательное имя. Обратите внимание, что без сочетания с --install или --delete эта опция ни на что не влияет. Пример:

    C:\WINDOWS\system32> C:\Manticore\bin\searchd.exe --install
       --config C:\Manticore\manticore.conf --servicename ManticoreSearch
  • --ntservice — опция, которую Microsoft Management Console передает searchd для запуска его как службы на платформах Windows. Обычно вызывать ее напрямую не нужно; Windows вызовет ее сама при запуске службы, хотя теоретически можно запустить и из командной строки (в дополнение к --console).

  • --safetrace заставляет searchd использовать для отчетов о сбоях только системный вызов backtrace(). В редких случаях это может быть более «безопасным» способом получить отчет. Это отладочная опция.

  • Переключатель --nodetach (только Linux) говорит searchd не отделяться в фон. Это также приведет к выводу записей журнала в консоль. Обработка запросов работает как обычно. Это отладочная опция и также может быть полезна при запуске Manticore в Docker-контейнере для захвата его вывода.

Каталог плагинов

Manticore использует plugin_dir для хранения и использования плагинов Manticore Buddy. По умолчанию это значение доступно пользователю "manticore" в стандартной установке. Однако если вы запускаете демон searchd вручную под другим пользователем, демон может не иметь доступа к plugin_dir. Чтобы решить эту проблему, убедитесь, что вы указали plugin_dir в секции common, куда пользователь, запускающий демон searchd, имеет права записи.

Сигналы

searchd поддерживает несколько сигналов:

  • SIGTERM - Инициирует корректное завершение работы. Новые запросы не будут обрабатываться, но уже начатые запросы не будут принудительно прерваны.
  • SIGHUP - Инициирует ротацию таблиц. В зависимости от значения настройки seamless_rotate, новые запросы могут быть ненадолго приостановлены; клиенты будут получать временные ошибки.
  • SIGUSR1 - Принудительно переоткрывает файлы журнала searchd и журнала запросов, что позволяет выполнить ротацию файлов журналов.

Переменные окружения

  • MANTICORE_TRACK_DAEMON_SHUTDOWN=1 включает подробное логирование во время завершения работы searchd. Это полезно в случае некоторых проблем с завершением работы, например, когда Manticore слишком долго завершает работу или зависает в процессе завершения.
Last modified: January 05, 2026