2012-07-24 39 views
5

我使用的情况是,内容对象可以有加权标签:搜索和索引加权标签/类别评级,最好在Plone的目录

  • ArticleA:Java 5中,MySQL的3,PHP 1
  • ArticleB:加密3中,MySQL 2
  • ArticleC:Plone的5,网络1,安全4,敏捷1
  • ArticleD: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

我想,虽然其他人有过相同的任务。关于如何(最好)在这方面前进的任何想法?

回答

1

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

+0

感谢您的意见。 SOLR可能无法在客户端部署艰难。也许SQL? – jhb 2012-07-24 16:59:44

+0

在生产中没有SQL集成层 – 2012-07-24 18:28:24