3

我需要在不同的服务器/机器上实现对多个克隆站点的集中搜索。如果有办法选择要搜索的站点将是一个加号,但不是主要问题。我遇到的几种方法是:

- 将 ZCatalog 索引导出到 XML 文件,并定期使用爬虫获取所有 XML 文件,以便对它们进行搜索,但这种方式不允许实时搜索。

- 有一种使用通用目录的方法,但它不是最佳的,并且由于某些要求而无法在我正在处理的站点上实施。

-我在某处读到他们使用 solr,但我需要有关如何使用它的帮助。

但是我需要一种方法来使用现有的 ZCatalog 和索引,而不是创建另一个索引,因为我认为使用 solr 的情况是由于额外的开销和需要维护的额外索引。但是如果没有其他解决方案可能会使用它。我是搜索的初学者,所以请尽可能提供详细信息。

4

2 回答 2

6

You should really look into collective.solr:

https://pypi.python.org/pypi/collective.solr/4.1.0

Searching multiple sites is a complex use case and you most likely need a solution that scales. In the end it will require far less effort to go with Solr instead of coming up with your own solution. Solr is build for these kind of requirements.

于 2015-05-26T07:22:03.317 回答
0

作为替代方案,您还可以为此使用collective.elasticindex,这是一个将Plone 内容索引到ElasticSearch的扩展。

根据其文档:

这不会用 ElasticSearch 替换 Plone 目录,也不会与 Plone 目录交互,它只是在修改或发布 ElasticSearch 时索引内容。

除此之外,它还提供了一个名为 search.html 的简单搜索页面,该页面使用 Javascript 查询 ElasticSearch(因此 Plone 不参与搜索)并提出与默认 Plone 搜索页面相同的功能。搜索 portlet 也允许您将人们重定向到这个新的搜索页面。

这可能是和collective.solr 相比的优势。

于 2015-08-10T22:21:08.033 回答