5

我的用例是内容对象可以有加权标签:

  • 文章A:java 5、MySQL 3、php 1
  • 文章 B:加密 3,MySQL 2
  • ArticleC:plone 5,网络 1,安全 4,敏捷 1
  • 文章D:plone4、MySQL3、php 3 ...

标签列表是用户可扩展的,值的范围固定为例如 1 - 5

现在:我怎样才能回答以下问题(最好使用portal_catalog):

  • 显示所有带有 java>2 和 MySQL>3 标记的文章
  • MySQL的平均值是多少
  • 评价最高的克隆文章是什么?
  • 显示所有包含 'foobar' 并且关于 plone 的文章

到目前为止,我想到或建议的可能解决方案是:

  • 走 SQL
  • 创建在单独目录中索引的额外“评级”内容类型(非常像参考)
  • 将评级编码为“java3”、“java4”、“java5”,将它们粘贴到 KeywordIndex 中并检查 AdvancedQuery 是否可以搜索它们 [更新:是的,Between('Subject','plone3','plone5') 有效]
  • 编写自定义 PluginIndex

我想虽然其他人以前也有同样的任务。关于如何(最好)继续前进的任何想法?

4

1 回答 1

1

开箱即用的 Plone 无法解决此问题。可以使用不同的搜索来搜索不同的方面,并在应用程序端使用自定义编码进行一些过滤和聚合......可能会很棘手且效率低下。您可以查看 SOLR 与 Plone 的集成(collective.solr)。SOLR 应该支持开箱即用的大部分功能。特别是分面搜索是您免费获得的 SOLR 的内置功能。但是 SOLR 是您设置中的另一块砖,对于较小的站点可能会过大。此外,SOLR 集成和 SOLR 构建配方总是显得有些脆弱。

于 2012-07-24T13:50:33.413 回答