Установка
1) Качаем бинарники под свою ОСь: http://sphinxsearch.com/downloads/current/
2) Распечатываем из архива содержимое папки /bin в /usr/bin/ (с повышенными правами)
3) Готовим структуру файлов и папок для хранения твоих настроек, индексов и логов sphinx:
/home/user/sphinxdata/ # или любая удобная директория
|- binlogs/
|- indexes/
|- logs/
| |- searchd.log # пустой файл
| |- query.log # пустой файл
| |- log.log # пустой файл
|- searchd.pid # пустой файл
|- sphinx.conf
4) Оформляем конфиг sphinx.conf. Образец лежит в скачанном тобой архиве в директории /etc.
5) Запускаем индексацию
indexer --all --rotate -c ~/sphinxdata/sphinx.conf
Вывод команды в этот раз будет выглядеть примерно так:
using config file '/home/user/sphinxdata/sphinx.conf'...
indexing index 'index1'...
collected 43010 docs, 3.5 MB
sorted 0.3 Mhits, 100.0% done
total 43010 docs, 3.521 Mb
total 2.1 sec, 1.669 Mb/sec, 20383 docs/sec
indexing index 'index2'...
collected 91965 docs, 14.7 MB
sorted 1.4 Mhits, 100.0% done
total 91965 docs, 14.65 Mb
total 7.4 sec, 1.990 Mb/sec, 12494 docs/sec
WARNING: failed to open pid_file '/home/user/sphinxdata/searchd.pid'.
WARNING: indices NOT rotated.
Индексация прошла почти успешно. Почти — потому что последние две строки означают, что ротация не удалась, т.к. не запущен демон searchd. Это норма.
Возможные ошибки:
sql_connect: failed to load libmysqlclient (or libmariadb)
чиним вот так
ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.9 /usr/lib/libmysqlclient.so
6) Вот теперь запускаем демона:
searchd -c ~/sphinxdata/sphinx.conf