Я написал Perl-сценарий, когда еще предоставляю результат веб-интерфейса, он все еще работает на моем устаревшем веб-сайте blackbeltvb.com, если хотите посмотреть.Это сделал живой поиск, хотя, не проиндексированный, и без выдержек.
Я также написал поиск по сайту wugnet.com, в котором были ранжированы результаты и выдержки, и спроектировал поиск, который теперь есть в QB Desktop.В вашем случае, я бы выбрал такой подход - просто иметь задачу cron, которая добавляет новые или обновленные скрипты / файлы в базу данных, одно большое текстовое поле, а другие поля содержат метаданные, такие как имена файлов и типы.Затем добавьте веб-интерфейс в эту БД, выполнив поиск:
select * from data where keyword like '%word%' and keyword (or keyword) etc...
На сайте blackbeltvb.com есть часто задаваемые вопросы, в которых показано, как построить SQL-запрос для ранжированных результатов ключевых слов, например, «все ключевые слова найдены», «некоторыенайдено "и т.д ...