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







