sphinx хорош тем, что его легко прикрутить к любому источнику данных. Для этого используется XML. На первом этапе нужно сделать некий индексатор, который умеет выгружать данные в XML из вашего источника данных. XML должен получиться таким (у меня этот XML генерится с помощью скрипта xml.generator.php): <?xml version="1.0" encoding="utf-8"?> <sphinx:docset xmlns:sphinx="http://mysite.ru/sphinx"> <sphinx:document id="1"> <video_id>10306</video_id> <video_name><![CDATA[На краю]]></video_name> <video_artist><![CDATA[Панайотов Александр]]></video_artist> </sphinx:document> <sphinx:document id="2"> <video_id>10306</video_id> <video_name><![CDATA[Na krayu]]></video_name> <video_artist><![CDATA[Panajotov Aleksandr]]></video_artist> </sphinx:document> <sphinx:document id="3"> <video_id>1034</video_id> <video_name><![CDATA[А я выла на луну]]></video_name> <video_artist><![CDATA[Балаган Лимитед]]></video_artist> </sphinx:document> <sphinx:document id="4"> <video_id>1034</video_id> <video_name><![CDATA[A ya vyla na lunu]]></video_name> <video_artist><![CDATA[Balagan Limited]]></video_artist> </sphinx:document> </sphinx:docset> Примечание: необходимо добавить аттрибут xmlns:sphinx - без него не заработало. Внимательные могут заметить, что в индекс я помещаю также транслитерацию - чтоб и в транслитерации искало хорошо. Дальше в конфигах необходимо изобразить следующий источник и индекс: index: index idx_video { type = plain source = src_video path = /var/lib/sphinx/data/video_idx.dat docinfo = extern dict = keywords ......... } source: source src_video { type = xmlpipe2 xmlpipe_command = php -e /my/super/web/app/xml.generator.php xmlpipe_attr_uint = video_id xmlpipe_field = video_name xmlpipe_field = video_artist xmlpipe_fixup_utf8 = 1 } И - все готово! Нюансы настройки сфинкса, выбора алгоритма поиска, использования языка запросов - здесь я опускаю, т.к. это совсем другая и обширная тема. # indexer --all --rotate Напомню, что на этом сайте есть прекрасный рецепт, как разбивать конфиг сфинкса по файлам - это очень удобно. Успехов!
Linux/Windows Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor