ThnkingSphinx (sphinxd) на удаленном сервере баз данных с дельта-индексами? - PullRequest
5 голосов
/ 08 декабря 2011

Я работаю над настройкой простой многоуровневой установки Rails 3.1 - веб-приложения на одном или нескольких серверах, база данных postgresql и наши поисковые индексы Sphinx на удаленном сервере.

В настройках с одним сервером мы используем ThinkingSphinx и дельта-индексы (с помощью delayed_job), а затем ночной крон для обновления основного индекса.Отлично работает.

Итак: пользователь создает индексируемый контент;приложение сообщает delayed_job, чтобы запланировать обновление;delta-indexer добавляет новый контент в delta-index;поиски смотрят на оба, чтобы правильно разрешить поисковый запрос;Ночная работа воссоздает один основной индекс.

Документация для ThinkingSphinx гласит здесь, в нижней части

Лучший подход - это иметь Sphinx, базу данных и отложенноеВсе задачи обработки заданий выполняются на одном компьютере.

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

Вот надеемся!

1 Ответ

4 голосов
/ 09 декабря 2011

Задержанный рабочий (работающий на вашем сервере DB / Sphinx) ссылается на базу данных в контексте вашего приложения Rails - так что вам понадобится приложение на вашем сервере DB / Sphinx, но только для запуска DJworker.

С точки зрения серверов ваших приложений TS просто добавит записи заданий в базу данных в обычном режиме.

Вам также понадобится установить следующие настройки - этот идет наконец вашего config / application.rb:

ThinkingSphinx.remote_sphinx = Rails.env.production?

И добавьте версию Sphinx в ваш config / sphinx.yml:

production:
  version: 2.0.1-beta
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...