Solr:如何动态提升有限数量的文件? 是否要修改QueryElevationComponent?
我的要求是为用户请求提升有限数量的(例如五个)文档。
我得到的是单个文档字段 ,其存储类似于表示电梯排名值的提升值的数值 。
因此,用户查询将返回具有最高电梯等级值的5个文档和剩余文档以按正常顺序填充页面。
怎么做?
QueryElevationComponent
仅允许静态查询定义。 Boosting不允许为特殊电梯排名字段增加有限数量的文档。
我是否必须编写修改后的QueryElevationComponent? 如果是,是否有很好的例子如何做到这一点?
或者是否存在另一种方法 ,我没有赶上?
感谢您的任何提示或想法!
我会采用以下两种方法之一:
- 使用函数查询来提升电梯排名字段。
- 或者使用索引时间提升来增强需要编辑提升的文档。
这两种方法都会产生不可预测的结果(因为Solr中的相关性模型非常复杂)。 但是通过function查询,您可以进行更多微调。
使用两个单独的请求找到解决方案。
首先通过该得分字段提升文档。 使用分页来限制结果。 从结果页面获取唯一的文档ID,并在新请求中明确地提升这些文档ID。