Вы также можете запустить Manticore Search, вызвав напрямую searchd (исполняемый файл сервера Manticore Search):
searchd [OPTIONS]
Обратите внимание, что без указания пути к файлу конфигурации 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используется для предоставления отчёта о фактическом времени процессора (в дополнение к реальному времени) как в файле журнала запросов (для каждого заданного запроса), так и в отчёте о статусе (агрегированном). Это зависит от системного вызова 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-путь идентифицируется начальным слэшем. В качестве последнего параметра вы также можете указать обработчик протокола (слушатель), который будет использоваться для соединений на этом сокете. Поддерживаемые значения протокола: '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 в секции common, куда пользователь, запускающий демон searchd, имеет права записи.
searchd поддерживает несколько сигналов:
SIGTERM- Инициирует корректное завершение работы. Новые запросы не будут обрабатываться, но уже начатые запросы не будут принудительно прерваны.SIGHUP- Инициирует ротацию таблиц. В зависимости от значения настройки seamless_rotate, новые запросы могут быть ненадолго приостановлены; клиенты будут получать временные ошибки.SIGUSR1- Принудительно переоткрывает файлы журнала searchd и журнала запросов, что позволяет выполнить ротацию файлов журналов.
MANTICORE_TRACK_DAEMON_SHUTDOWN=1включает подробное логирование во время завершения работы searchd. Это полезно в случае некоторых проблем с завершением работы, например, когда Manticore слишком долго завершает работу или зависает в процессе завершения.