我目前正在管理一个网站,没有任何网络经验的人可以创建自己的基本多页网站。该网站还提供了额外的“小部件”,可以放在一个网站上提供互动功能,如评论等。
我们正在考虑添加一个搜索小部件,客户可以在其网站上进行搜索,它将搜索他们自己网站中的所有内容,包括已使用的其他“小部件(单个页面的内容是基本的html,所有用户的小部件数据存储在一个数据库中)。为此,我们研究了许多关于如何进行索引和搜索的选项,并得出了以下选项:PHP Zend Lucene或Apache Solr.
我们认为Zend Lucene将无法实现我们的需求,主要是因为这些网站中的一些是远程托管的,但使用的是通过主网站加载的小部件。此外,如果我们使用单个索引,这可能会潜在地索引超过300,000个文档,我听说Zend Lucene的性能不好。
Apache Solr似乎是首选。但是我有一些关于这个和“多个”站点的设置的问题。
- 如果只有一个索引,并为站点索引的每个文档提供一些唯一的标识符,那么在搜索时,我们可以使用此标识符来限制来自该站点的文档,这样会更好吗?
- 或者有多个索引会更好?
- 还是有一个更好的选择,我们忽略了?
如果你认为你知道一个更好的方法,我仍然愿意在这一点上的建议,我们可以如何实施这一点。
2条答案
按热度按时间enxuqcxy1#
在性能方面,Solr有很多Lucene缓存和其他优化参数,大多数人认为Zend Lucene比Java Lucene慢,所以你可能会选择使用SOLR,但这实际上取决于具体的应用程序和服务器资源。
检查这个好以前的帖子:Zend_Search_Lucene vs SOLR
v1l68za42#
您可能想看看Apache Nutch,它在Lucene的搜索引擎上提供web抓取。