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

时间:2012-07-24 11:35:33

标签: plone

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

  • ArticleA:java 5,MySQL 3,php 1
  • ArticleB:crypto 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 个答案:

答案 0 :(得分:1)

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