【问题标题】:Solr/Lucene user click based rankingSolr/Lucene 用户基于点击的排名
【发布时间】:2010-05-31 14:29:39
【问题描述】:

我正面临根据用户点击日志对 Lucene 结果进行排序的问题。我希望更多的访问结果是第一位的。有谁知道如何在 Lucene 或 Solr 中配置或实现此类属性?

非常感谢。

【问题讨论】:

    标签: lucene solr click rank


    【解决方案1】:

    您可以在架构中声明一个可排序的整数字段(我们称之为 clickNum),默认情况下将每个索引文档设置为零。 当用户打开文档时,您的应用会通过设置 clickNum = clickNum + 1 来触发 clickNum 字段的更新。

    在查询端,您可以根据主要排序参数(如果有)和 clickNum 设置多重排序: sort=<field name>+<direction>[,clickNum+desc]

    您可以通过将点击日志存储在外部数据库中并通过查询后详细说明重新排序结果来避免文档更新,但恕我直言,这不是一个好的选择。

    【讨论】:

      【解决方案2】:

      使用Dismax 可能是一个不错的选择。 Dismax 的 bf (Boost Functions) 参数可以设置为提升点击次数较多的文档。

      如果不想使用 Dismax,也可以在 bf(Boost Functions)参数中使用function query

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-01
        • 1970-01-01
        • 2012-04-12
        • 2021-11-11
        • 2013-01-23
        • 2011-01-01
        • 1970-01-01
        • 2018-10-02
        相关资源
        最近更新 更多