我已经研究过 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 的搜索功能,但我不确定这是否能够处理我需要的东西。而且我不知道有什么选择可以结合我对简单和强大的渴望。
您会建议我调查哪些搜索解决方案?为什么您认为该解决方案在这种情况下会很好地工作?