不是通用排序字段,而是说我希望按顺序返回的文档ID列表。
实施例: document_ids = [5,3,10,6]
我可以按顺序查询solr的文件5,3,10,6吗?
答案 0 :(得分:10)
您可以使用bq参数(Boost查询)进行此操作,然后按分数排序,这是默认值。
q=id:5+OR+id:3+OR+id:10+OR+id:6&bq=id:5^4+id:3^3+id:10^2
正如您在bq
参数中看到的那样,每个ID都会获得一个下降的提升值,直到最后一个 - 在您的情况下为6 - 不再获得任何提升。由于您按ID搜索,因此每个文档都具有相同的分数,因此以这种方式提升它们将获得您想要的排序顺序。
关于参数
的一些参考如果您使用的是标准请求处理程序或(e)DisMax,则无论如何都适用
q=id:5^4+OR+id:3^3+OR+id:10^2+OR+id:6
这会使用Term Boosting,在主题使用^ 提升术语下面解释in the reference documentation。逻辑保持与上面相同。