我打算制作一个需要高级搜索功能的小型网站。由于重新发明轮子不是一件值得做的事情,我进行了一些谷歌搜索,发现有一些基于 PHP 的搜索框架,其中一个已集成到 Zend 框架中。
我想在框架中包含的内容:
- 全文和目录搜索功能
- 显示按相关性排序的结果
- 能够按类别过滤结果
- 按各种标准对结果进行排序
- 快速搜索
- 不需要快速插入
由于该网站将包含大量静态内容(一些文本和产品目录),我可能会使用一些预先生成的索引。
是否有任何(免费)框架可以满足上述要求?我们非常欢迎您提出建议、技巧和想法。如果您能分享您实现搜索系统的经验,那就太好了。
最佳答案
看看 Omega(基于 Xapian)- a link to the Xapian project page
您可以通过 cgi 方式集成它。因为它基于快得令人眼花缭乱的 Xapian,所以如果您正确设置它,它将成为最快的选择之一。它可以完成您要求的一切(包括搜索结果的相关性、索引 Web 服务器文档(html、pdf、word、excel、sql 数据库...)做“词干提取”等...)
另一个(也是非常好的选择)当然是 Apache Lucene --> 这是包含在您引用的 Zend 框架中的这个(“Zend Search”)。它可以完成所有相同的技巧,尽管我个人更喜欢 Xapian。
编辑:请注意,如果我没记错的话,Omega(和 Xapian)是 GPL,而 Apache Lucene 是 LGPL。
关于基于 PHP 的搜索框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692716/