我正在使用Solr 5.2。是否有一个参数可以让您按特定字段值对返回结果的顺序进行排序?例如,在mysql
中,我使用ORDER BY FIELD
按特定顺序对结果进行排序:
SELECT id,txt FROM `review`
order by FIELD(a.id,2,3,5,7) ;
我已阅读document中的sort
部分,但似乎没有提及类似的参数。
答案 0 :(得分:1)
我不确定Solr能做到你想要的。您可能得到的最接近的是范围查询。范围查询如下所示:
your_field:[valueA TO valueB]
答案 1 :(得分:1)
您可以使用^=
在https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser
中找到使用^ = 的常量得分q=id:(2^=4 3^=3 5^=2 7^=1)
你可以运行
array = [2,3,5,7]
var string = "q=id:(";
for(i=0;i<array.length;i++){
string += array[i]+"^=" + (array.length-i) + " ";
}
string+=")";
// string => q=id:(2^=4 3^=3 5^=2 7^=1)