Установка и настройка Sphinx 2.0.5 Debian 6.0 (squeeze)

Sphinx (англ. SQL Phrase Index) — бесплатная система полнотекстового поиска, которая позволяет очень быстро индексировать и искать данные на сайте.

Установка и настройка Sphinx 2.0.5 Debian 6.0 (squeeze)


У многих возникают трудности с установкой и настройкой, на самом деле все очень прост, нужно лишь выполнить несколько простых действий.

1. Устанавливаем необходимые библиотеки, чтобы не было ошибок при установке сфинкса.

apt-get install libmysql++-dev


2. Скачиваем сфинкс.

wget http://static.abcvg.com/uploads/files/2015-06/1434824543_sphinx-2.0.5-release.tar.gz


3. Распаковываем и конфигурируем.

tar xzvf 1434824543_sphinx-2.0.5-release.tar.gz
cd sphinx-2.0.5-release
./configure --prefix=/usr/local/sphinx --with-mysql


Устанавливается в /usr/local/sphinx с поддержкой MySQL.
Если возникают ошибки то можно дописать ./configure --prefix=/usr/local/sphinx --with-mysql --with-mysql-libs=/usr/lib

4. Устанавливаем.

make
make install


5. Настраиваем.
Берем конфиг (sphinx.conf) из каталога install движка(livestreet) и копируем в каталог установленного сфинкса.
Файл должен находится тут.

/usr/local/sphinx/etc/sphinx.conf


Так же пример конфига лежит в том же каталоге по имени sphinx.conf.dist можно его переименовать и вручную все настраивать.
Открываем и заполняем настройки подключения к базе.

        sql_user                = sphinx
        sql_pass                = password
        sql_db                  = basename


6. Запускаем индексатор для создания индекса.

/usr/local/sphinx/bin/indexer --all


7. Создаем файл запуска демона сфинкса и заполняем.

vim /etc/init.d/sphinx


Заполняем содержимым.

#! /bin/sh
### BEGIN INIT INFO
# Provides: sphinx
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sphinx/bin/searchd
NAME=sphinx
DESC=sphinx

#test -x $DAEMON || exit 0

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/sphinx/var/log/searchd.pid --exec $DAEMON -- -c /usr/local/sphinx/etc/sphinx.conf || true
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/sphinx/var/log/searchd.pid --exec $DAEMON || true
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/sphinx/var/log/searchd.pid --exec $DAEMON -- -c /usr/local/sphinx/etc/sphinx.conf || true
sleep 1
start-stop-daemon --start --quiet --pidfile /usr/local/sphinx/var/log/searchd.pid --exec $DAEMON -- -c /usr/local/sphinx/etc/sphinx.conf || true
echo "$NAME."
;;
*)
echo "Usage: $NAME {start|stop|restart}" >&2
exit 1
;;
esac

exit 0


Добавляем права на запуск файла.

chmod +x /etc/init.d/sphinx


И добавляем в автозагрузку.

insserv sphinx


Для debian 5.0 комадна будет выглядеть так:

update-rc.d sphinx defaults


8. Создаем задание в планировщик (cron) чтобы индексы поисковика перестраивались сами

vim /etc/cron.d/sphinx


Заполняем содержимым.

12 */3 * * * root /usr/local/sphinx/bin/indexer --rotate topicsIndex > /dev/null 2>&1
*/50 * * * * root /usr/local/sphinx/bin/indexer --rotate commentsIndex > /dev/null 2>&1


Если у вас используется плагин компании добавьте так же.

12 */3 * * * root /usr/local/sphinx/bin/indexer --rotate companiesIndex > /dev/null 2>&1


Перезапускаем планировщик cron.

/etc/init.d/cron restart


Топики будут индексироваться раз в 3 часа, а комментарии раз в 50 минут.

Установка завершена, можно наслаждаться морфологическим поиском на своем сайте.



Просмотров: 2215
20.06.2015, 19:21 -

Категория: Web-скрипты » LiveStreet