搜索和索引加权标签/类别评级,最好是在plone目录中

jhb*_*jhb 5 plone

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

  • ArticleA: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的平均值
  • 什么是最高评级的plone文章?
  • 显示所有包含'foobar'且与plone有关的文章

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

  • 去SQL
  • 创建在sperate目录中编制索引的额外"评级"内容类型(非常类似于引用)
  • 将评级编码为'java3','java4','java5',将它们粘贴到KeywordIndex并检查AdvancedQuery是否可以搜索它们[更新:是,在('主题','plone3','plone5')之间工作]
  • 编写自定义PluginIndex

我想其他人之前也有同样的任务.关于如何(最好)向前推进的任何想法?