Управление сфинксом для нескольких сайтов

У меня есть несколько сайтов, которые используют поисковые индексы Sphinx, которые имеют основополагающее значение для их работы. Это, однако, оказывает огромное влияние на объем индексации, которую я должен выполнить на моем сервере. В настоящее время у меня есть задание cron, которое запускается каждые 24 часа для переиндексации моей базы данных. Это должно запустить около 15 различных источников, которые в среднем составляют около 100 000 строк в моей базе данных. Так довольно здоровенный …

Недавно у меня не было проблем с запуском индексатора —all —rotate в моем sphinx.conf, однако я только что обнаружил, что мои файлы журналов (за последние 6 месяцев) выросли более чем на 10 ГБ. Этими файлами являются /var/log/query.log и /var/log/searchd.log.

Это явно не лучшая из ситуаций. Поэтому я надеялся получить себя в таком положении, чтобы я мог разделить наборы индексов, которые у меня есть, между моими веб-сайтами, чтобы мне не приходилось делать такой гигантский вызов для одного громоздкого файла sphinx.conf.

По крайней мере, так я могу проявлять гибкость при индексировании cron, так как, например, сайту 1 не нужно индексировать так сильно, как сайту 3. Я также могу отделить свои файлы журнала таким же образом.

1

Решение

Вам НЕ НУЖНО использовать --all, вместо этого можно просто назвать индекс (ы), которые вы хотите повернуть в командной строке.

Что касается больших файлов журнала, logrotate ваш друг

(порекомендовал бы это, пытаясь запустить несколько экземпляров сфинкса, в то время как возможное быстро становится грязным)

2

Другие решения

Других решений пока нет …