Solr按两个字段的最小值排序?

时间:2011-07-07 12:34:38

标签: search sorting select lucene solr

我想用最少的几个字段对结果集进行排序。

所以在阅读了functionquery文档之后,我就想到了这个:

sort={!func}min(dvd_available_from_tdt,dto_available_from_tdt)%20desc

我也尝试过:

sort=_val_:min(dvd_available_from_tdt,dto_available_from_tdt)%20desc

sort=_val_:"min(dvd_available_from_tdt,dto_available_from_tdt)"%20desc

sort=_val_:"min(dvd_available_from_tdt,dto_available_from_tdt)%20desc"

sort="{!func}min(dvd_available_from_tdt,dto_available_from_tdt)"%20desc

sort={!func}min(dvd_available_from_tdt,dto_available_from_tdt)%20desc

sort="min(dvd_available_from_tdt,dto_available_from_tdt)"%20desc

以及引号的其他一些展示位置。但不管我总是得到这个错误:

  

HTTP错误:400

     

缺少排序顺序。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

它似乎仅在solr 3.1中可用。我正在运行1.4.1

http://wiki.apache.org/solr/FunctionQuery#Sort_By_Function

答案 1 :(得分:0)

尝试使用匹配所有文档的查询,使用常量分数和函数。

http://localhost:8983/solr/select/?q= %3A + _ val_:价格&安培;版本= 2.2&安培;开始= 0&安培;行数= 10安培;缩进= ON&安培; debugQuery =真

此外,升级到Solr 3.3并不是那么痛苦,并且有很多很酷的新玩具,比如功能排序。