我的任务是在我的项目(PHP/Zend Framework2+ MySQL)中实现MySQL中的文本搜索。问题是文本字段根本不大,它主要是VARCHAR字段或连接的字段,如城市名称、公司名称等,每个实体大约5-10个字段。所以现在我决定选择Lucene(zend framework 2模块- Zend Search),但是使用Lucene或Sphinx这样的技术来处理小的varchar字段会有效吗?
谢谢。
发布于 2013-07-20 06:23:11
当然,Lucene或Sphinx可以处理任何包含文本的varchar列。
任何全文索引解决方案都比使用LIKE '%word%'
好几百倍甚至几千倍!
你可能会对我的演讲感兴趣,Fulltext Search Throwdown。
你也可以观看我以网络研讨会的形式发表演讲的录音:http://www.percona.com/webinars/2012-08-22-full-text-search-throwdown (它是免费的,但需要注册)。
* Lucene和Sphinx也可以对数值列做一些事情。
PS:我是Zend Framework1.0的项目负责人。在2007年左右,Zend_Search_Lucene是一个有趣的实验,但是相对于Apache Lucene/Solr,它已经过时了,而且Zend_Search_Lucene比Java实现慢了几个数量级。我不会费心去做的。
https://stackoverflow.com/questions/17756096
复制相似问题