Solr/Lucene用户点击排名

Solr/Lucene用户点击排名,lucene,solr,click,rank,Lucene,Solr,Click,Rank,我面临着基于用户点击日志对Lucene结果进行排序的问题。我希望更多的访问结果放在第一位。有人知道如何在Lucene或Solr中配置或实现这样的属性吗 非常感谢。您可以在模式中声明一个可排序的整数字段(我们称之为clickNum),对于每个索引文档,默认情况下将其设置为零。 当用户打开文档时,您的应用程序会通过设置clickNum=clickNum+1来触发clickNum字段的更新 在查询端,您可以根据主排序参数(如果有)设置多个排序,然后单击num: sort=+[,单击num+desc]

我面临着基于用户点击日志对Lucene结果进行排序的问题。我希望更多的访问结果放在第一位。有人知道如何在Lucene或Solr中配置或实现这样的属性吗


非常感谢。

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

在查询端,您可以根据主排序参数(如果有)设置多个排序,然后单击num:
sort=+[,单击num+desc]

您可以通过将单击日志存储在外部数据库中并使用查询后精化对结果重新排序来避免文档更新,但这不是一个好选项。

使用可能是一个好选项。可以设置Dismax的bf(Boost Functions)参数,以提高文档的点击率

如果不想使用Demax,还可以在bf(Boost Functions)参数中使用