0

我已经研究过 Doctrine 的内置搜索、MySQL myisam 全文搜索、Zend_Lucene 和 sphinx - 但是所有的细微差别和实现细节都让我很难理清,因为我没有其他经验myisam 搜索。

我真正想要的是可以与 Zend Framework 和 Doctrine(MySQL 后端,可能是 InnoDB)一起工作的简单的东西。我不需要复杂的东西,比如单词替换、自动完成等等(不是说我会反对这些东西,如果它足够容易并且足够有效地实现的话)。

主要的是跨多个数据库表搜索字符串的能力,以及具有一些基本搜索条件的多个字段(例如user.state. = CA AND user.active = 1)。数据库的大小将从大约 50K+ 记录开始(旧数据被转储),最大的单个可搜索表将是大约 15K 记录,并且随着时间的推移它会显着增长。

也就是说,Zend_Lucene 对我很有吸引力,因为它很灵活(以防我将来确实需要我的搜索解决方案)并且因为它可以解析 MS Office 文件(将由用户上传到我的应用程序)。但它的灵活性也使得设置起来有点复杂。

我想最直接的选择是只使用 Doctrine 的搜索功能,但我不确定这是否能够处理我需要的东西。而且我不知道有什么选择可以结合我对简单和强大的渴望。

您会建议我调查哪些搜索解决方案?为什么您认为该解决方案在这种情况下会很好地工作?

4

1 回答 1

1

我会推荐使用Solr搜索引擎。

Solr是一个基于 Lucene Java 搜索库的开源企业搜索服务器,具有 XML/HTTP 和 JSON API、命中突出显示、分面搜索、缓存、复制、Web管理界面(非常棒)和更多功能。

它在 Java servlet 容器(如 Tomcat)中运行。

您可以使用solr-php-client来处理 php 中的查询。

于 2011-04-16T11:15:44.447 回答