Sytrfony中的Doctrine Searchable Behavior与Zend Lucene

时间:2010-12-20 23:18:49

标签: symfony1 lucene doctrine

我需要在2表中搜索关键字,简单的事情

我还没有决定使用其中一个? 任何建议表现明智吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

Lucene已经开发用于全文搜索。你需要这个功能吗?

如果您只需要关键字功能,请使用Searchable 可搜索比Lucene更容易使用。

另请考虑使用sfDoctrineActAsTaggablePlugin

答案 1 :(得分:2)

正如cuhuak所说,Lucene是一个全文搜索。由于它是用Java编写的,因此您还需要Java Server(例如Tomcat)。如果您不想要额外的服务器,Zend Lucene implementation(如Matt Gibson的评论中所述)也可能值得研究。使用额外的服务器,如果你只有一个小主机,这 MAY 不是很好的性能。此外,Lucene需要比Doctrine解决方案更多的配置和设置。

在性能方面:Lucene用于索引数百万个单词,并在几毫秒内搜索。在“常规”RDBMS中有数百万字,事情会变慢。您也可以在数据库中设置全文搜索,但这又需要设置和知识该做什么。

所以一个普遍的想法:如果网站很小(就searc的问题而言),那么采用Doctrine方法,如果你计划获得大量数据,请使用Lucene。