solr排序,我想首先指定一个特定的文档
例如:
结果:5,2,3,1
我要2排在第一位,其他按照规则排序
2,1,3,5
如何做到这一点?
最佳答案
我知道有两种方法可以尝试使用 Solr 来解决这个问题。
第一个是使用QueryElevationComponent 。这使您可以在索引时定义最重要的结果。正如文档中所建议的,这非常适合将赞助结果或热门文档放置在搜索结果的顶部。潜在的缺点是您必须能够在索引时而不是查询时识别这些文档。
另一种方法是使用bq parameter在查询时增强所需的文档。 。要增强文档 435,您可以执行以下操作:
...&bq=id:435^10
不幸的是,这两种方法都无法让您绝对控制结果的顺序。
如果您不介意在执行搜索后处理结果,Riking 提供的解决方案肯定可以完成这项工作。您可以考虑的另一种方法是向 Solr 架构添加一个字段来定义显示顺序或优先级。然后,您可以对该字段进行排序以获得所需的排序顺序。
关于solr排序,我想首先指定一个特定的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629279/