2

任务是在我的项目(PHP/Zend Framework 2 + MySQL)中在 MySQL 中实现文本搜索。问题是文本字段一点都不大,它主要是 VARCHAR 字段或连接字段,如城市名称、公司名称等,每个实体大约 5-10 个字段。所以目前我决定选择 Lucene(zend framework 2 模块 - Zend Search),但是对于小的 varchar 字段使用 Lucene 或 Sphinx 之类的技术会有效吗?

谢谢你。

4

1 回答 1

5

当然,Lucene 或 Sphinx 可以处理任何包含文本的 varchar 列。* 它们不必很大。

任何全文索引解决方案都比使用LIKE '%word%'!

您可能对我的演示文稿感兴趣,全文搜索Throwdown

您还可以观看我在网络研讨会上发布该演示文稿的录音: http ://www.percona.com/webinars/2012-08-22-full-text-search-throwdown (它是免费的,但需要注册)。

* Lucene 和 Sphinx 也可以对数字列做一些事情。

PS:我是 Zend Framework 1.0 的项目负责人。Zend_Search_Lucene 在大约 2007 年是一个有趣的实验,但相对于 Apache Lucene/Solr,它已经过时了,而且 Zend_Search_Lucene 比 Java 实现慢了几个数量级。我不会打扰它。

于 2013-07-19T22:23:10.680 回答