WordPress: используем Sphinx для индексации и поиска
Про Sphinx было немного написано ранее:
Настраиваем систему индексации и поиска Sphinx для LiveStreet
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:
Создаем 2 скрипта, которые будет вызывать cron:
/var/www/sphinx/reindex-delta.sh:
/var/www/sphinx/reindex-main.sh:
Меняем права:
Добавляем в /etc/rc.local для автостарта Sphinx:
Добавляем индексацию по расписанию в /etc/crontab:
Каждые 3 часа с запуском процесса на 10ой минуте:
Ежедневно в 2 ночи на 10й минуте:
В /wp-content/plugins/wordpress-sphinx-plugin/cron/ копируем reindex_config_sample.php в reindex_config.php и редактируем:
Для того, чтобы демон Sphinx запускался — блог должен быть сначала проиндексирован в настройках плагина:
Далее переиндексация будет происходить по расписанию.
Настраиваем систему индексации и поиска Sphinx для LiveStreet
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 запускался — блог должен быть сначала проиндексирован в настройках плагина:
Далее переиндексация будет происходить по расписанию.
Комментарии (2)
RSS свернуть / развернутьGangsta
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.