как запустить несколько экземпляров сфинкса? - PullRequest
3 голосов
/ 15 мая 2011

У меня есть поисковая система, с которой я запускаю sphinx, и теперь я запускаю свой форум vbulletin со sphinx. Единственная проблема заключается в том, что sphinx позволяет использовать только один файл конфигурации "sphinx.conf", и у меня теперь есть 2, и я должен использовать 2. Поэтому теперь у меня есть sphinx.conf и sphinx-vb.conf. Как мне запустить второй экземпляр searchd, чтобы я использовал файл sphinx-vb.conf? Причина, по которой мне нужно запустить 2, заключается в том, что у меня разные потребности в индексировании и есть задания cron, а что нет, и это облегчит работу. Я просмотрел весь Google и не могу понять, как запустить другой экземпляр Сфинкса. Я знаю, что мне нужно работать и на другом порту, поэтому мой порт для второго будет на 1 выше, чем исходный, который будет 9313. Кто-нибудь знает, как это сделать? Спасибо.

Я пытался запустить это sudo / usr / local / bin / searchd --config /usr/local/etc/sphinx-vb.conf

и получил эту ошибку FATAL: не удалось заблокировать файл pid '/usr/local/var/log/searchd.pid': ресурс временно недоступен (searchd уже запущен?)

но, конечно, он работает. Он работает для поисковой системы.

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Крис, как вы отметили и в своем вопросе, и в своем комментарии - вам нужно использовать разные порты для каждого процесса поиска, и разные файлы pid. Также могут быть полезны разные файлы журналов:)

2 голосов
/ 26 сентября 2016

Единственная проблема в том, что sphinx позволяет использовать только один файл конфигурации "sphinx.conf"

Нет, вы можете использовать их столько, сколько вам нужно.

Как мне запустить второй экземпляр searchd, чтобы я использовал файл sphinx-vb.conf?Причина, по которой мне нужно запустить 2, заключается в том, что у меня разные потребности в индексировании и есть задания cron, а что нет, и это облегчит задачу.

Не уверен, что вам нужен другой экземпляр для ваших нужд.Я имею в виду запуск файла sphinx-vb.conf.Как альтернатива для другого экземпляра, вы можете просто создать другой источник в файле sphinx-vb.conf и запустить индексирование обеих конфигураций с одним экземпляром, например:

1 * * * * indexer --config /etc/sphinxsearch/sphinx.conf --all --rotate
* 2 * * * indexer --config /etc/sphinxsearch/sphinx-vb.conf --all --rotate

, затем запустить его на том же порту с тем же соединением, носделать запросы для разных источников.Например, с использованием sphinxapi.php :

$sphinx->SetServer( "localhost", 9312 );
$result1 = $sphinx->Query('','firstSource');
...
$result1 = $sphinx->Query('','sourceVb');
...