Данная инструкция является мануалом по настройке модуля Advanced sphinx для Drupal 6.
Что умеет данный модуль:
1. Ищет по заголовку и телу(body) материал. Поиск по другим полям и сущностям не реализован. Но возможно в ручном режиме настроить поиск по дополнительным полям ноды(инструкция по тому, как это реализовать будет написана позже).
2. Присутствует сортировка(Релевантность/Дата/Обновление).
3. Есть блок поиска, который можно вывести в нужном регионе.
4. Поиск с использованием морфологии(технология стемминга)
Технические подробности:
- Соединения с демоном сфинкса происходит через unix-сокет.
- Индексация использует в качестве источника данных - базу MySQL.
Инструкция по настройке:
При использовании мануала, нужно заменять:
uXXXX - на аккаунт клиента
имя_домена - на имя домена
- Зайти в домашнюю директорию своего хостинг-аккаунта с помощью ssh. Перейти в директорию domains/имя_домена/sites/all/modules/ .
- Скачать модуль с помощью git здесь.
- Включить модуль в админке сайта.
- Создать иерархию каталогов в своей домашней директории:
- /home/uXXXX/sphinx
- /home/uXXXX/sphinx/имя_домена
- /home/uXXXX/sphinx/имя_домена/log
- /home/uXXXX/sphinx/имя_домена/index - В админке, на странице admin/settings/advanced_sphinx указываем такие параметры:
--- Генерировать конфигурационный файл - галочка
--- Path to confige file: /home/uXXXX/sphinx/имя_домена
--- Sphinx searchd host name or path to socket: /home/uXXXX/sphinx/имя_домена/sphinx.s - В консоли запускаем индексацию демона сфинкса с нужной конфигурацией: /usr/bin/sphinx-indexer --config /home/uXXXX/sphinx/имя_домена/sphinx.conf --all
- В консоли запускаем демон сфинкса: /usr/sbin/sphinx-searchd --config /home/uXXXX/sphinx/имя_домена/sphinx.conf
- В админке проверяем по ссылке admin/settings/advanced_sphinx/check-connection - есть ли коннект с демоном сфинкса.
- Проверяем работает ли поиск на странице search-content
- Выводим блок поиска в нужном регионе.
- Настраиваем права на использования Advanced Sphinx странице admin/user/permissions
12. В задачах по рассписанию настраиваем:
@reboot /usr/sbin/sphinx-searchd --config /home/uXXXX/sphinx/имя_домена/sphinx.conf > /dev/null 2>&1
*/10 * * * * /usr/bin/sphinx-indexer --config /home/uXXXX/sphinx/имя_домена/sphinx.conf --rotate index_delta > /dev/null 2>&1
10 4 * * * /usr/bin/sphinx-indexer --config /home/uXXXX/sphinx/имя_домена/sphinx.conf --merge index_main index_delta --merge-dst-range deleted 0 0 --rotate > /dev/null 2>&1
1-ое это поднятие демона после ребута сервера;
2-ое - индексация новых материалов(дельта-индекс) раз в 10 минут;
3-ье - мердж(объединение) дельта-индекса и главного индекса раз в день.