WordPress: используем Sphinx для индексации и поиска

Sphinx используется в движке Мтааламу.ру (LiveStreet) для индексации и поиска и работает действительно хорошо. Не помешает такая система и WordPress’у. В этом нам поможет плагин WordPress Sphinx Search Plugin. Плагин настраивался в Ubuntu Server.

Для начала, создаем директорию за пределами DOCUMENT_ROOT /var/www/sphinx. У Apache должны быть права на запись в нее.

На странице настройки плагина запускаем установку Sphinx:

Плагин скачает, распакует, откомпилирует и настроит Sphinx. Разумеется, должны быть установлены gcc, make и прочее:

После установки конфигурация будет выглядеть так:

Ручная индексация запускается кнопкой:

Для того, чтобы поиск заработал, должен быть запущен демон Sphinx:

Проверяем поиск:

Рабочая настройка sphinx.conf

Создаем /var/www/sphinx/start.sh:

#!/bin/sh
/var/www/sphinx/bin/searchd --config /var/www/sphinx/etc/sphinx.conf

Создаем 2 скрипта, которые будет вызывать cron:

/var/www/sphinx/reindex-delta.sh:

#!/bin/sh
cd /path/to/wp-content/plugins/wordpress-sphinx-plugin/cron/
/usr/bin/php ./reindex.php delta

/var/www/sphinx/reindex-main.sh:

#!/bin/sh
cd /path/to/wp-content/plugins/wordpress-sphinx-plugin/cron/
/usr/bin/php ./reindex.php main

Меняем права:

chmod 755 /var/www/sphinx/*.sh
chown www-data:www-data /var/www/sphinx/*.sh

Добавляем в /etc/rc.local для автостарта Sphinx:

start-stop-daemon --start --chuid www-data:www-data --exec /var/www/sphinx/start.sh

Добавляем индексацию по расписанию в /etc/crontab:

Каждые 3 часа с запуском процесса на 10ой минуте:

10 */3 * * * www-data /var/www/sphinx/reindex-delta.sh

Ежедневно в 2 ночи на 10й минуте:

10 2 * * * www-data /var/www/sphinx/reindex-main.sh

В /wp-content/plugins/wordpress-sphinx-plugin/cron/ копируем reindex_config_sample.php в reindex_config.php и редактируем:

< ?php
define('PATH_TO_SPHINX_INDEXER', '/var/www/sphinx/bin/indexer');
define('PATH_TO_SPHINX_CONFIG', '/var/www/sphinx/etc/sphinx.conf');
define('SPHINX_INDEX_NAME', 'wordpress');

Для того, чтобы демон Sphinx запускался – блог должен быть сначала проиндексирован в настройках плагина:

Далее переиндексация будет происходить по расписанию.

Распечатать Распечатать

Другие записи:

Настраиваем систему индексации и поиска Sphinx для LiveStreet
WordPress: Datafeedr Random Ads V2
Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny
Связанные записи в WordPress – Yet Another Related Posts Plugin
Защищаем блог на WordPress от атак
Готовим WordPress к переносу с localhost
Подсветка синтаксиса с помощью плагина WP-Syntax в WordPress
Preview комментариев и отправка по Ctrl+Enter в WordPress
MySQL: сделаем это по-быстрому
Баг: двойные ссылки навигации по страницам в WordPress 2.8

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">