Pat*_*ick 3 perl search flat-file
我们有一个基于Perl的Web应用程序,其数据源自庞大的平面文本文件库.这些平面文件放在我们系统的目录中,我们广泛地解析它们将信息插入MySQL数据库,然后将这些文件移动到它们的归档存储库和永久主页(/www/website/archive/*.txt).现在,我们不会解析这些平面文件中的每一位数据,而一些较为模糊的数据项也不会被数据库化.
目前的要求是用户能够从Perl生成的网页执行整个平面文件存储库的全文搜索,并返回他们随后可以单击的命中列表并打开文本文件评论.
什么是最优雅,最有效和非CPU密集型方法来实现此搜索功能?
我建议按此顺序:
将整个文档都整合到MySQL表中,并使用MySQL的全文搜索和索引功能.我从来没有这样做,但MySQL总是能够处理超过我可以抛出的东西.
Swish-E(http://swish-e.org/)仍然存在,旨在构建全文索引并允许排名结果.我已经运行了几年,它运行得很好.
您可以在Perl代码中使用File :: Find来咀嚼存储库File::Find,但与上面的索引选项之一相比,它会很糟糕.但是,它会工作,甚至可能会让你大吃一惊:)