Solr - 基于查询参数对结果进行排序

时间:2017-05-26 05:58:54

标签: solr

我的结果有限,我期望根据我提供的查询对文档进行排序。

例如:我有4个文档,id字段为1,2,3,4。 现在,当我查询Solr为

  

q=id:(3+OR+2+OR+1+OR+4)

然后我期待结果的顺序为3,2,1,4而不管文档的分数。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

然后你需要提供一个自定义排序参数,然后设置你明确想要的排序:

http://localhost:8983/solr/collection1/select?q=id:(3+OR+2+OR+1+OR+4)&sort=if(eq(id,3),10,if(eq(id,2),8,if(eq(id,1),4,0))) desc

语法很难看,但它只是将id与不同的值进行比较并给出递减值。您可能需要查看https://cwiki.apache.org/confluence/display/solr/Function+Queries以查看是否找到了其他更容易看到的功能组合。