Zend Framework 的良好搜索解决方案 +学说+ MySQL?
我研究了 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 的搜索功能,但我不确定这是否能够满足我的需要。我不知道有什么选择可以结合我对简单性和实用性的渴望。力量。
您会推荐我研究哪些搜索解决方案?为什么您认为该解决方案在这种情况下效果很好?
I've looked into Doctrine's built-in search, MySQL myisam fulltext search, Zend_Lucene, and sphinx - but all the nuances and implementation details are making it hard to sort out for me, given that I don't have experience with anything other than the myisam search.
What I really want is something simple that will work with the Zend Framework and Doctrine (MySQL back-end, probably InnoDB). I don't need complex things like word substitutions, auto-complete, and so on (not that I'd be opposed to such things, if it were easy enough and time effective enough to implement).
The main thing is the ability to search for strings across multiple database tables, and multiple fields with some basic search criteria (e.g. user.state. = CA AND user.active = 1
). The size of the database will start at around 50K+ records (old data being dumped in), the biggest single searchable table would be around 15K records, and it would grow considerably over time.
That said, Zend_Lucene is appealing to me because it is flexible (in case I do need my search solution to gorw in the future) and because it can parse MS Office files (which will be uploaded to my application by users). But its flexibility also makes it kind of complicated to set up.
I suppose the most straightforward option would be to just use Doctrine's search capabilities, but I'm not sure if that's going to be able to handle what I need. And I don't know that there is any option out there which is going to combine my desire for simplicity & power.
What search solutions would you recommend I investigate? And why would you think that solution would work well in this situation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议使用 Solr 搜索引擎。
Solr 是一个基于 Lucene Java 搜索库的开源企业搜索服务器,具有 XML/HTTP 和 JSON API、命中突出显示、分面搜索、缓存、复制、Web 管理界面(真的很棒) 以及更多功能。
它在 Java servlet 容器(例如 Tomcat)中运行。
您可以使用solr-php-client< /a> 处理 php 中的查询。
I would recomment using Solr search engine.
Solr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, a web administration interface (which is really great) and many more features.
It runs in a Java servlet container such as Tomcat.
You can use the solr-php-client to handle queries in php.