Инклуд конфигов Sphinx
Операционные системы 24.07.2009
Встала проблема объединения конфигурационных файлов Sphinx'a, погуглив не нашел решения на уровне приложения и решил сделать своё.
Создаем каталог «sphinx», где будем хранить все конфигурационные файлы sphinx'a:
Далее, складываем туда все файлы конфигов с разных хостов, например:
/usr/local/etc/sphinx/pyha.ru.conf
и убираем оттуда директивы «indexer» и «searchd».
Теперь, создаем там файлы «indexer.conf» для настройки индексатора и «searchd.conf» для настройки демона сфинкса:
/usr/local/etc/sphinx/searchd.conf
Примерное содержимое файла «indexer.conf»:
{
mem_limit = 32M
}
Примерное содержимое файла «searchd.conf»:
{
address = 127.0.0.1
port = 3312
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/sphinx-query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
}
Далее, пишем скрипт, объединяющий наши файлы конфигов:
/bin/cat /usr/local/etc/sphinx/*.conf
и указываем этот файл как конфигурационный файл сфинкса в «/usr/local/etc/rc.d/sphinxsearch»:
Примеры использования
Индексация:
Запуск демона


А зачем приучать? Можно сделать алиас:
echo 'alias chown="chown -v"' >> ~/.bashrc
Правда на счёт кавычек не уверен, возможно внутренние нужно экранировать.
ты не туда запостил )
и я юзаю csh
отличный совет!
ещё можно переименовать sphinx.conf.sh в sphinx.conf
а конфигурационные файлы называть например searchd.cnf
тогда не прийдётся писать
#searchd --config /usr/local/etc/sphinx.conf.sh
просто #searchd
rtm, ага :)
если у вас запущено много процессов индексации сфинкса я бы делал ллимит на I/O диска
# maximum IO calls per second (for I/O throttling)
max_iops = 40 — 60
и поигрался с параметром sql_ranged_throttle в главном идексе