Sphinx — бесплатный поисковый движок. Он поможет создать быструю систему поиска информации по базе данных вашего сайта.
Установите Sphinx на аккаунт хостинга и настройте сайт для работы с ним.
Установка Sphinx
Подключитесь к аккаунту по SSH и скачайте дистрибутив с официального сайта: [username@server]$ wget ссылка_на_дистрибутив
Если вы размещаете готовый проект, выберите ту версию Sphinx, которую использовали при разработке сайта.
Распакуйте архив и переименуйте каталог с файлами движка:
[username@server]$ tar xvfz имя_архива.tar.gz
[username@server]$ mv имя_архива sphinx
Перейдите в директорию sphinx:
[username@server]$ cd sphinx
Дальнейший процесс установки зависит от выбранной вами версии программы.
Sphinx 2
Для сборки Sphinx 2 выполните команды:
[username@server sphinx]$ ./configure --prefix=/home/username/sphinx
[username@server sphinx]$ make
[username@server sphinx]$ make install
Перейдите в каталог etc:
[username@server sphinx]$ cd etc
Создайте конфигурационный файл sphinx.conf самостоятельно или воспользуйтесь шаблонами, входящими в дистрибутив. Мы взяли за основу файл sphinx-min.conf.dist, скопировали и переименовали его:
[username@server etc]$ cp sphinx-min.conf.dist sphinx.conf
Откройте файл в текстовом редакторе vim и укажите параметры подключения к базе данных:
[username@server etc]$ vim sphinx.conf
type = mysql
sql_host = localhost
sql_user = username_dbuser
sql_pass = password
sql_db = username_db
sql_port = 3306
Сохраните изменения и запустите Sphinx.
Sphinx 3
Sphinx 3 не нужно предварительно собирать, достаточно распаковать архив с программой и настроить конфигурационный файл. Он расположен в каталоге etc:
[username@server sphinx]$ cd etc
Мы используем входящий в дистрибутив шаблон sphinx-min.conf.dist. Скопируйте и переименуйте его:
[username@server etc]$ cp sphinx-min.conf.dist sphinx.conf
Откройте файл для редактирования и укажите параметры подключения к базе данных:
[username@server etc]$ vim sphinx.conf
type = mysql
sql_host = localhost
sql_user = username_dbuser
sql_pass = password
sql_db = username_db
sql_port = 3306
Нажмите Esc и по очереди выполните команды, чтобы изменить пути для размещения журналов работы Sphinx и индексов:
:%s/\/var\/data/\/home\/username\/sphinx\/data/
:%s/\/var\/log/\/home\/username\/sphinx\/log/
Сохраните изменения, выйдите из редактора и перейдите в каталог sphinx:
[username@server etc]$ cd ..
Создайте папки с именами log и data:
[username@server sphinx]$ mkdir log data
Теперь все готово к запуску движка.
Запуск Sphinx
Создайте файл с именем sphinx.sh в каталоге bin:
[username@server sphinx] cd bin
[username@server bin] vim sphinx.sh
Вставьте код скрипта в окно текстового редактора и сохраните изменения.
Посмотреть код
#!/usr/bin/env bash
CONFIGFILE="/home/username/sphinx/etc/sphinx.conf"
SPHINX="/home/username/sphinx/bin/searchd -c $CONFIGFILE"
[[ -z $1 ]] && { echo "Usage: $(basename $0) (start|stop|restart|status)"; exit 0; }
case "$1" in
start)
$SPHINX
;;
stop)
$SPHINX --stop
;;
restart)
$SPHINX --stop
sleep 2
$SPHINX
;;
status)
$SPHINX --status
;;
*)
echo "Unknown option $1"
;;
esac
С помощью sphinx.sh вы сможете быстро запускать (start), перезагружать (restart) и останавливать (stop) движок, а также смотреть статистику его работы (status).
Разрешите исполнение файла:
[username@server bin] chmod 755 sphinx.sh
Запустите Sphinx командой:
[username@server bin] ./sphinx.sh start
Проверьте, работает ли движок:
[username@server bin] ps -aux | grep sphinx
Если Sphinx запущен, вы увидите такой процесс:

Правильно провести индексацию базы данных вашего сайта поможет документация. Если при установке вы столкнулись с трудностями, обратитесь в сообщество Sphinx или нашу службу поддержки.