Вы также можете запустить Manticore Search, вызвав searchd (исполняемый файл сервера Manticore Search) напрямую:
searchd [OPTIONS]
Обратите внимание, что без указания пути к файлу конфигурации searchd попытается найти его в нескольких местах в зависимости от операционной системы.
Опции, доступные для searchd во всех операционных системах:
-
--help(-hдля краткости) выводит список всех параметров, которые можно использовать в вашей конкретной сборкеsearchd. -
--version(-vдля краткости) показывает информацию о версии Manticore Search. -
--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), чтобы предоставить более подробную информацию по каждой операции ввода/вывода, выполненной в ходе запроса, с небольшим снижением производительности и увеличением размера логов. Статистика ввода/вывода не включает информацию о операциях ввода/вывода для атрибутов, так как они загружаются с помощью mmap. Для включения можно запуститьsearchdтак:$ searchd --config /etc/manticoresearch/manticore.conf --iostats -
--cpustatsиспользуется для предоставления отчета о фактическом времени работы CPU (в дополнение к реальному времени) как в файле журнала запросов (для каждого запроса), так и в отчете о статусе (агрегированном). Зависит от системного вызова Linuxclock_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 определяется ведущим слэшем. В качестве последнего параметра можно также указать обработчик протокола (listener), который будет использоваться для подключений на этом сокете. Поддерживаемые значения протокола: '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
Существуют некоторые опции для 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 в общем разделе, к которому пользователь, запускающий демон searchd, имеет права на запись.
searchd поддерживает ряд сигналов:
SIGTERM— инициирует корректное завершение работы. Новые запросы обрабатываться не будут, но уже начатые запросы не будут принудительно прерваны.SIGHUP— инициирует ротацию таблиц. В зависимости от значения настройки seamless_rotate новые запросы могут быть кратковременно приостановлены; клиенты получат временные ошибки.SIGUSR1— принудительно открывает заново файлы журнала searchd и журнала запросов, что позволяет выполнять ротацию файлов журнала.
MANTICORE_TRACK_DAEMON_SHUTDOWN=1включает подробное логирование при завершении работы searchd. Это полезно в случае проблем с завершением работы, например, когда Manticore слишком долго завершает работу или зависает в процессе завершения.