2013-08-07 65 views
3

我们有一个用Codeigniter框架编写的网站。现在,我们希望能够在网站上使用基于soundex的快速搜索功能。这只是一个微博客,所以我们只搜索帖子的标题。优雅的搜索方式(PHP + MySQL)

那么对我们最好的是什么?

我有两个想法:

  1. 创建后表标题的同音拷贝另一列,只是有它的全文索引。

  2. 从标题中分解单词,并将单词的soundex等值保存在新表中,并使用帖子的ID。就像自动标签系统一样。

哪种方法更好,为什么?你能建议一个更好的方法吗?

感谢您的所有答案!

回答

1

探测法是伟大的 - 但它通常不能满足用户expectations for search(由谷歌等建立)。

文本搜索,包括模糊搜索和词干的常见解决方案是使用类似SOLR;使用Web服务调用与PHP集成相对容易。

Zend框架有(从未使用它,但它可能会节省您一些时间) - Lucene是一个开源的免费文本搜索平台。

+0

感谢您的回答Neville,我只是尝试SOLR。我安装并成功启动(Ubuntu 11.10),但我无法通过http:// ipaddress:8983 /访问它。我检查了“netstat -l”,并且在SOLR运行时,端口8983正在监听。你不知道可能是什么问题吗?顺便说一下SOLR如何影响性能?你有什么经验吗?我的服务器有1128MB的内存和2.1GHZ的CPU。 – martincpt