среда, 14 января 2009 г.

Установка Sphinx на Ubuntu

Устранение проблем с geodata


Sphinx не работает корректно с geodata если он был скомпилирован с gcc версии > 3.4 Чтобы избежать проблемы с geodata установите gcc версии 3.4 и поставьте на него симлинки.
aptitude install g++-3.4 gcc-3.4

cd /usr/bin
rm cpp gcc g++
ln -s g++-3.4 g++
ln -s gcc-3.4 gcc
ln -s cpp-3.4 cpp

Установка Sphinx


cd /usr/src/
wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz
tar -zxf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2

cd /usr/src/sphinx-0.9.8-rc2
./configure CC=gcc-3.4
make
make install
# for grid only
mkdir /mnt/ferret/sphinx
ln -sf /mnt/ferret/sphinx /var/db/sphinx
#

mkdir -p /var/db/sphinx/log
chmod -R 777 /var/db/

Пользователи Windows могут скачать windows-версию с http://www.sphinxsearch.com/downloads.html

Установка gem Chronic


gem install chronic

После установки вы можете использовать конфигурацию Ultrasphinx по умолчанию default.base или создать собственный файл development.base и поместить его в RAILS_APP/config/ultrasphinx/.
Перейдите в каталог своего rails-приложения и запустите:
RAILS_ENV=development rake ultrasphinx:bootstrap

или
RAILS_ENV=development rake ultrasphinx:configure
RAILS_ENV=development rake ultrasphinx:daemon:start

Sphinx -- асинхронный поисковый движок, поэтому необходимо периодически заново индексировать ваши данные.
Можете добавить строку в cronjob.
00-59/10 * * * * www-data cd $RAILS_ROOT && RAILS_ENV=$RAILS_ENV rake ultrasphinx:index >/dev/null 2>&1

Это строка задает переиндексирование каждые 10 минут.

1 Комментариев :

Dmitry комментирует...

Какая то бесполезная статья. Что у Вас написано есть в куче других источников. Лучше бы Вы показали как дружить сфинкс с приложением rails и примерами кода как получать ответ и т.д.

Отправить комментарий

Жги!