【问题标题】:Per query relevance elevation for solr?solr 的每个查询相关性提升?
【发布时间】:2011-02-28 22:38:21
【问题描述】:

我想根据每个用户调整 solr 搜索结果的相关性 - 基于用户之前点击结果的次数。 FOR THAT USER 经常点击的项目应该上升到搜索结果的顶部。

有没有办法为查询中的特定文档 ID 提供自定义提升/提升?我正在考虑大约 100 份要提升的特定文件。如果查询的其余部分没有找到这些文档,提升应该无效。

或者,如果这是不可能的,那么设置替代索引方法以使其成为可能的明智方法是什么?我可以在索引中为每个用户添加一个字段来存储他们的分数吗?我正在考虑大约 1000 个用户。这种方法的主要缺点是需要重新索引文档的次数(即用户每次使用它时)。

【问题讨论】:

    标签: solr elevation relevance


    【解决方案1】:

    您可以设置一个dynamic field 来存储用户点击,例如:

    <dynamicField name="*_clicks" type="integer" indexed="true" stored="true"/>
    

    您会将点击存储在 user12322_clicks、user15000_clicks 等字段中。

    查看this very similar question 了解如何提升的信息。

    【讨论】:

    • 为指向动态字段的指针干杯 - 如果将用户点击添加到索引中,看起来像是完成这项工作的方式。仍然希望能够通过查询传递提升规则并避免额外的索引。
    猜你喜欢
    • 2015-09-20
    • 2014-04-18
    • 2017-09-19
    • 2016-12-14
    • 1970-01-01
    • 2018-09-19
    • 2013-11-17
    • 2011-11-28
    • 1970-01-01
    相关资源
    最近更新 更多