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