为多个网站实现搜索功能,Apache Solr是一个不错的选择吗?

时间:2014-03-18 10:04:06

标签: php zend-framework solr lucene

我目前正在管理一个网站,没有任何网络经验的人可以创建自己的基本多页网站。该网站还提供额外的小部件'可放置在网站上以提供评论等交互式功能。

我们正在考虑添加一个搜索小部件,客户可以在其中搜索到他们的网站,它将搜索他们自己网站内的所有内容,包括其他小部件'已经使用过(单个页面内容是基本的html,所有用户的小部件数据都存储在一个数据库中)。 为此我们已经研究了许多关于如何进行索引和搜索的选项,并且已经找到了以下选项:PHP Zend Lucene或Apache Solr。

我们认为Zend Lucene无法实现我们的需求,主要是因为其中一些网站是远程托管的,但使用通过主网站加载的小部件。此外,如果我们使用单个索引,这可能会有超过300,000个文档被索引,因为我听说Zend Lucene对性能不利。

Apache Solr似乎是首选。但是我对这个和多个'的设置有一些疑问。站点。如果只有一个索引并且为站点索引的每个文档都有一些唯一标识符会更好,那么在搜索时我们可以使用此标识符来限制来自该站点的文档。或者拥有多个索引会更好吗?或者我们忽略了一个更好的选择吗?

如果您认为自己了解更好的方法,我现在仍然愿意接受如何实施此建议的建议。

如果您需要任何进一步的信息,请告诉我。感谢。

2 个答案:

答案 0 :(得分:1)

关于性能,Solr有许多Lucene缓存和其他优化参数。大多数人认为Zend Lucene比Java Lucene慢,所以你的选择可能是使用SOLR,但这实际上取决于具体的应用程序和服务器资源。

检查以前的好文章:Zend_Search_Lucene vs SOLR

答案 1 :(得分:0)

您可能希望查看Apache Nutch,它在Lucene的搜索引擎之上提供网络抓取功能。