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

搜索和索引加权标签/类别评级,最好在plone目录中,plone,Plone,我的用例是内容对象可以有加权标记: 文章A:Java5、MySQL 3、PHP1 第二条:加密3、MySQL 2 第C条:plone 5、网络1、安全4、敏捷1 文章:plone4、MySQL3、PHP3 标签列表是用户可扩展的,值的范围是固定的,例如1-5 现在:我如何回答以下问题(理想情况下使用门户目录): 显示标记为java>2和MySQL>3的所有文章 MySQL的平均值是多少 哪篇文章的评价最高 显示所有包含“foobar”和关于plone的文章 到目前为止,我想到或提出的可

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

  • 文章A:Java5、MySQL 3、PHP1
  • 第二条:加密3、MySQL 2
  • 第C条:plone 5、网络1、安全4、敏捷1
  • 文章:plone4、MySQL3、PHP3
标签列表是用户可扩展的,值的范围是固定的,例如1-5

现在:我如何回答以下问题(理想情况下使用门户目录):

  • 显示标记为java>2和MySQL>3的所有文章
  • MySQL的平均值是多少
  • 哪篇文章的评价最高
  • 显示所有包含“foobar”和关于plone的文章
到目前为止,我想到或提出的可能解决方案有:

  • GoSQL
  • 创建额外的“分级”内容类型,这些类型在sperate目录中编入索引(非常类似于 参考资料)
  • 将评级编码为“java3”、“java4”、“java5”,将它们粘贴到关键字索引中,并检查 AdvancedQuery可以搜索它们[更新:是,在('Subject'、'plone3'、'plone5')作品之间]
  • 编写自定义插件索引

我想其他人以前也有同样的任务。关于如何(最好地)在这方面取得进展,有什么想法吗?

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

谢谢您的建议。SOLR可能无法在客户端站点上部署。也许是SQL?在生产环境中没有SQL集成层可以实现这一点