【问题标题】:Solr schema and boosting by keywords/tags for itemSolr 模式和通过项目的关键字/标签提升
【发布时间】:2011-11-26 21:49:30
【问题描述】:

当用户搜索并点击一个结果时,我们将这个搜索关键字存储在数据库中。 我们得到的是每个项目的关键词列表,以及该关键词被点击的次数。

在 solr 模式中,我有多值字段“关键字”。如何为每个项目上的每个关键字添加该点击次数,而不是提升,以便点击次数最多的项目位于/接近该关键字的结果顶部?

我使用 dismax,目前“apple”的查询看起来像这样:

q=apple
qf=title^0.4 keywords:"apple"^0.5
bf=hits^0.4 rating^0.3

所以你可以看到我通过“关键字”来提升,但问题是我不知道哪个项目被点击次数最多的是“苹果”。

我尝试在初始索引导入时为每个关键字添加 boost 参数。它没有帮助,我没有想法。

【问题讨论】:

    标签: search solr tags code-search-engine


    【解决方案1】:

    您如何维护点击数据?
    将累积点击数据作为单个字段与文档一起维护怎么样。
    您可以使用 dismax boost 函数轻松地使用此字段来整体提升文档。
    一大堆数学函数可以用@http://wiki.apache.org/solr/FunctionQuery#What_is_a_Function.3F

    【讨论】:

    • 商品点击数据每天更新一次。累积点击数据不会改善我的结果,因为我需要该项目的每个关键字的点击数据,才能获得一些不错的结果。
    • 所以当每一项点击数据更新时,你不能总结为文档的累积点击(每个关键字的单个点击的总和)并使用它吗?
    • 我已经有了每个关键字的点击次数。点击计数是针对特定关键字的项目的点击次数。我不知道该怎么做:将此数据存储到 solr 索引并通过点击次数提升。我找到了我需要的东西,但它是年度订阅的企业:S Click Scoring Relevance Framework
    • 因为您已经拥有每个文档每个关键字的点击次数。您能否将客户端所有关键字的计数汇总到一个字段中,并将此计数作为新字段存储到您的 solr 索引中,并使用此字段使用 bf 和函数查询来提升文档?
    • 这对我的相关性帮助不大。你的建议很好,但我需要更准确的提升。在这种情况下,我只能得到一个项目的整体受欢迎程度,遗憾的是它还不够好。
    猜你喜欢
    • 2016-10-14
    • 1970-01-01
    • 2022-12-08
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多