Архив | Июль, 2011

Разделение конфигов Sphinx

9 Июл

Иногда, если на одном сервере хостится несколько сайтов, использующих в качестве поиска поисковый движок Sphinx, то очень удобно держать конфигурацию поиска для каждого сайта в отдельном файле, чтобы не радактировать общий конфиг.

Преимущества, которые дает этот подход

  • Основной конфиг не растет и не нужно выискивать нужный индекс или источник
  • Конфиг проекта лежит в самом проекте, в системе контроля версий
  • Просто добавить новые индексы и источники

Общие конфигарационные данные, такие как настройки searchd и indexer ложим в файл

/usr/local/sphinx/etc/sphinx.common.conf,

Конфиг индексов и сорсов проекта ложим в файл /var/www/*/etc/sphinx.conf

Его содержимое:

#!/bin/bash
echo "# SPHINX_CONFIG:"

# main configuration options
cat /usr/local/sphinx/etc/sphinx.common.conf

# will cycle all Sphinx configuration files
for fname in /var/www/*/etc/sphinx.conf
do
if [ -x $fname ]; then
echo "# EXECUTE: $fname"
$fname
elif [ -a $fname ]; then
echo "# INCLUDE: $fname"
cat $fname
fi
done

# --eof--