Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为多个网站实现搜索功能,ApacheSolr是一个不错的选择吗?_Php_Zend Framework_Solr_Lucene - Fatal编程技术网

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

Php 为多个网站实现搜索功能,ApacheSolr是一个不错的选择吗?,php,zend-framework,solr,lucene,Php,Zend Framework,Solr,Lucene,我目前正在管理一个网站,没有任何网络经验的人可以创建自己的基本多页网站。该网站还提供了额外的“小部件”,可以放在网站上,以提供互动功能,如评论等 我们正在考虑添加一个搜索小部件,客户可以在其网站上进行搜索,它将搜索其网站内的所有内容,包括已使用的其他“小部件”(单个页面内容为基本html,所有用户的小部件数据存储在单个数据库中)。 为此,我们研究了许多关于如何进行索引和搜索的选项,并归结为以下选项:PHP Zend Lucene或Apache Solr 我们觉得Zend Lucene将无法实现我

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

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

我们觉得Zend Lucene将无法实现我们所需要的,主要是因为其中一些网站是远程托管的,但使用的是通过主网站加载的小部件。另外,如果我们使用一个索引,这可能会有超过300000个文档被索引,我听说Zend Lucene的性能不好

apachesolr似乎是首选。但是,我对这个和“多个”站点的设置有一些疑问。最好只使用一个索引,并为站点索引的每个文档使用一些唯一的标识符,然后在搜索时,我们可以使用此标识符限制来自该站点的文档。还是有多个索引更好?还是有一个我们忽略了的更好的选择

在这一点上,如果你认为你知道更好的方法,我仍然愿意接受我们如何实施这一点的建议


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

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

查看这篇好文章:

你可能想看看,它在Lucene的搜索引擎上提供了网页爬行功能