Инклуд конфигов Sphinx
Встала проблема объединения конфигурационных файлов Sphinx'a, погуглив не нашел решения на уровне приложения и решил сделать своё.
Создаем каталог "sphinx", где будем хранить все конфигурационные файлы sphinx'a:
mkdir /usr/local/etc/sphinx
Далее, складываем туда все файлы конфигов с разных хостов, например:
/usr/local/etc/sphinx/adw0rd.ru.conf /usr/local/etc/sphinx/pyha.ru.conf
и убираем оттуда директивы "indexer" и "searchd".
Теперь, создаем там файлы "indexer.conf" для настройки индексатора и "searchd.conf" для настройки демона сфинкса:
/usr/local/etc/sphinx/indexer.conf /usr/local/etc/sphinx/searchd.conf
Примерное содержимое файла "indexer.conf":
indexer { mem_limit = 32M }
Примерное содержимое файла "searchd.conf":
searchd { 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/sh /bin/cat /usr/local/etc/sphinx/*.conf
и указываем этот файл как конфигурационный файл сфинкса в "/usr/local/etc/rc.d/sphinxsearch":
: ${sphinxsearch_conffile="/usr/local/etc/sphinx.conf.sh"}
Примеры использования
Индексация:
indexer --config /usr/local/etc/sphinx.conf.sh --all
indexer --config /usr/local/etc/sphinx.conf.sh --rotate
Запуск демона
searchd --config /usr/local/etc/sphinx.conf.sh
/usr/local/etc/rc.d/sphinxsearch start
Комментарии
А зачем приучать? Можно сделать алиас:
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 в главном идексе
Оставьте свой комментарий