我们有一个日期范围查询的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中完成此任务?
提前致谢!
答案 0 :(得分:6)
您只需在查询中添加&sort=sub(date_you_enter,date_fieldname_on_documents) asc
参数即可。基本上sub
函数将计算差异,然后您将能够根据该结果对其进行排序。
作为参考,您还可以查看http://wiki.apache.org/solr/FunctionQuery页面,了解更多可能对您有用的功能