按日期差异排序结果

时间:2012-11-13 18:34:54

标签: solr

我们有一个日期范围查询的solr结果+/-输入日期的1个月。如果我输入2012-12-01,我会得到2012-11-01至2013-01-01的结果集。

这样可以正常工作,但我们希望在日期差异之后将结果排序到输入的日期。

例如,如果我们有日期:

  

2012-11-10,2012-11-30,2012-12-03,2012-12-10

我们希望结果排序如下:

  

2012-11-30,2012-12-03,2012-12-10,2012-11-10

任何想法如何在solr中完成此任务?

提前致谢!

1 个答案:

答案 0 :(得分:6)

您只需在查询中添加&sort=sub(date_you_enter,date_fieldname_on_documents) asc参数即可。基本上sub函数将计算差异,然后您将能够根据该结果对其进行排序。

作为参考,您还可以查看http://wiki.apache.org/solr/FunctionQuery页面,了解更多可能对您有用的功能