0

Я в настоящее время использую Sphinx с ThinkingSphinx gem for Rails.Нужно ли мне перезапускать Sphinx при каждом развертывании?

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

Кстати, я использую Engineyard и эту конкретную поваренную книгу от EY, Thinking Sphinx 3 Cookbook.

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

Вам также потребуется добавить Deploy крюк, чтобы перезапустить Сфинкс на развертывании.

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

+2

Думал, что вам нужно только перезапустить sphinx, если вы действительно измените индексы поиска или, возможно, схему базы данных. С обычным cronjob, даже если вы меняете схему, все равно будет обновляться. От чтения этой страницы в основном говорилось о «первом развертывании», а не «перераспределении». – barryhunter

+0

Да, это то, что я и представляю. Но на странице docs (см. Выше) есть раздел «Развертывание с Capistrano», которое запускает остановку/перезапуск мышью sphinx. – maru

ответ

3

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

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

+0

отличная! Спасибо за это – maru