Мне действительно нужно перезапускать Sphinx при каждом развертывании?

В настоящее время я использую Sphinx с ThinkingSphinx для Rails.

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

Между прочим, я использую Engineyard и эту конкретную кулинарную книгу от EY, Поваренная книга Thinking Sphinx 3.

Он немного устарел и говорит следующее:

Вам также потребуется добавить хук развертывания для перезапуска Sphinx при развертывании.

Любые идеи? Есть ли более обновленные поваренные книги для Sphinx?


person gerky    schedule 15.08.2016    source источник
comment
Думаю, вам нужно перезапустить sphinx только в том случае, если вы действительно измените поисковые индексы или, возможно, схему базы данных. С обычным cronjob, даже если изменить схему, все равно будет обновлено. Прочитав эту страницу, по большей части речь идет о «первом развертывании», а не о «повторном развертывании».   -  person barryhunter    schedule 15.08.2016
comment
Да, я бы тоже так себе представлял. Но на странице документов (ссылка выше) есть раздел «Развертывание с помощью Capistrano», который вызывает остановку/перезапуск мыслящего сфинкса.   -  person gerky    schedule 17.08.2016


Ответы (1)


Документы EngineYard действительно устарели. Как упомянул Барри в комментариях, вам нужно перезапустить Sphinx только в том случае, если вы каким-то образом изменили конфигурацию Sphinx.

Документация Thinking Sphinx когда-то предлагала перезагрузку — возможно, поэтому документы EY делают то же самое предложение — но это применимо только в том случае, если вы не используете общие пути для Sphinx. Пути, специфичные для развертывания (предыдущий подход), означали бы, что файлы Sphinx находятся в разных местах для каждого развертывания, и поэтому для использования каталога последней версии требовался перезапуск. Однако общие пути означают, что файлы Sphinx всегда находятся в одном и том же месте, не связаны с конкретным развертыванием, и поэтому вам не нужно каждый раз перезапускаться.

person pat    schedule 28.08.2016