Sphinx - отличный движок для организации полнотекстового поиска. Работает он по понятной схеме - в соответствии с конфигурацией создает полнотекстовый поисковый индекс по указанному ресурсу, и позволяет в дальнейшем проводить поиск по этому индексу. Индекс получается не маленький, особенно для больших текстовых документов, - может достигать размера самой базы данных. Зато поиск - очень эффективен. Главный и единственный файл конфигурации - /etc/sphinx/sphinx.conf В нем содержиится несколько секций: indexer { # Ограничения индексатора } searchd { # Опции демона } source <name> { # Источники данных для индекса <name> } index <name> { # Свойства индекса <name> } Последние две секции могут повторяться - т.е. можно создать много разных индексов по разным источникам. Обновить индексы из командной строки можно так: # indexer --all --rotate А искать по ним: # search -i <indexname> <word_or_phrase> В общем, чтобы освоить механизм sphinx - много усилий не требуется - все хорошо расписано в официальной документации и в комментариях. Единственный момент, который я часто поправляю на своих серверах - это разделение одного большого конфига на несколько маленьких, поскольку так работать с разными индексами намного удобнее. Делается это так. Делаем главный файл /etc/sphinx/sphinx.conf исполняемым (chmod +x sphinx.conf) и внутри оставляем только такие строки: #!/bin/bash /bin/cat /etc/sphinx/conf/*.conf Дальше делаем каталог /etc/sphinx/conf и создаем в нем файлы с расширением *.conf, в которые помещаем содержимое соответствующей секции: indexer.conf searchd.conf myindex1.conf myindex2.conf ... Т.е. таким образом каждую секцию конфигурации мы вынесли в отдельный файл и теперь редактировать и отлаживать нужный индекс стало намного удобнее. Удачи всем!
Linux/Windows Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor