Solr:如何动态提升有限数量的文件? 是否要修改QueryElevationComponent?

我的要求是为用户请求提升有限数量的(例如五个)文档。

我得到的是单个文档字段 ,其存储类似于表示电梯排名值提升值的数值

因此,用户查询将返回具有最高电梯等级值的5个文档和剩余文档以按正常顺序填充页面。

怎么做?

QueryElevationComponent仅允许静态查询定义。 Boosting不允许为特殊电梯排名字段增加有限数量的文档。

我是否必须编写修改后的QueryElevationComponent? 如果是,是否有很好的例子如何做到这一点?

或者是否存在另一种方法 ,我没有赶上?

感谢您的任何提示或想法!

我会采用以下两种方法之一:

  • 使用函数查询来提升电梯排名字段。
  • 或者使用索引时间提升来增强需要编辑提升的文档。

这两种方法都会产生不可预测的结果(因为Solr中的相关性模型非常复杂)。 但是通过function查询,您可以进行更多微调。

使用两个单独的请求找到解决方案。

首先通过该得分字段提升文档。 使用分页来限制结果。 从结果页面获取唯一的文档ID,并在新请求中明确地提升这些文档ID。

Interesting Posts