我的用例是内容对象可以有加权标签:
- 文章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
我想虽然其他人以前也有同样的任务。关于如何(最好)继续前进的任何想法?