0.00
Рейтинг
0.08
Сила
По поводу крона: в /etc/cron.d/ должен лежать файлик sphinxsearch, содержащий как минимум следующую строчку:
3,8,13,18,23,28,33,38,43,48,53,58 * * * * root . /etc/default/sphinxsearch && [ "$START" = "yes" ] && [ -x /usr/bin/indexer ] && /usr/bin/indexer --quiet --rotate --all

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

3,8,13,18,23,28,33,38,43,48,53,58 — это минуты в течении часа, по которым происходит индексация. Тут каждые 5 минут, начиная с третьей минуты.

3,23,43 — это каждые 20 минут, начиная с третьей минуты.

Почему с третьей? ИМХО, главное, чтобы было не кратно 0,5,10..., так как другие сервисы при установке любят забивать минуты кратные пятерке. А одновременно выполнять несколько скриптов — создавать пиковые нагрузки, когда можно без этого обойтись, разнеся выполнение по времени.

Как часто индексировать зависит от того, насколько нужен актуальный поиск. На проекте, где в минуту несколько комментариев и каждые час 1-2 топика, я ставлю индексацию раз в 5 минут. И пользователи активно пользуют поиском (например, проверяя, есть ли топики на срочное событие, чтобы не дублироваться).
Под дебиан squeeze установка намного проще (на данный момент в репозитарии версия 0.9.9):
apt-get install sphinxsearch

В /etc/default/sphinxsearch устанавливаем START=yes

В /etc/sphinxsearch/ редактируем файл (или тупо копируем), меняя 3 значения (обозначены звездочками) sphinx.conf как тут. В файле все прокомментировано по русски.

В ЛивСтрите соответственно указываем в {папка сайта}/config/modules/search/config.php (конфиг сфинкса, лежит изначально):
$config['entity_prefix']  = 'MAIN';
— это сделано для того, чтобы была возможность индексировать несколько разных сайтов на ЛС, указывая разные префиксы.

Проверяем, есть ли следующая строчка в CRONе:
. /etc/default/sphinxsearch && [ "$START" = "yes" ] && [ -x /usr/bin/indexer ] && /usr/bin/indexer --quiet --rotate --all
и настраиваем ее на регулярное выполнение (у меня раз в 10 минут индексируется сайт).

Перезапускаем сфинкс:
searchd --stop
searchd

Проверяем доступность порта:
telnet localhost 3312
Если «Connected to localhost.», то все отлично. Нажимаем «Ctrl-]» и выходим из телнета — «с».
Можно запустить принудительную индексацию вручную (чтобы не ждать следующей индексации по крону):
/usr/bin/indexer --quiet --rotate --all


Работоспособность и возможные ошибки можно выявить в логах (указанных в вышеприведенном конфиге), которые лежат в каталоге /var/log/sphinxsearch/.

Вроде все. Установка должна занять не более 10 минут.
(Хотя, когда я только начинал администрировать сервак, долго разбирался даже по мануалам).