我们在solr文档中有任何事件的即将到来的日期(upcomingDate fireld)。我们需要获得从现在到未来(右方向) ASC排序的事件和从现在到过去(左方向) DESC排序的事件的结果。我们如何在一个查询中做到这一点?
例如:

结果: NEADH
发布于 2016-10-29 08:53:15
尝试执行以下排序查询
if(gte(ms(upcomingDate,NOW),0),ms(upcomingDate,NOW),sum(ms(NOW,upcomingDate),4125333600000)) asc
大于或等于当前的所有内容都将以升序方式自然排序(问题描述图中的N E A)。另一方面,所有小于现在的数据都将从现在开始减去,并添加到与遥远的未来日期相对应的will中(我在此示例代码中使用了2100年)。通过这种方式,您可以实现过去日期的降序排序(问题描述图中的D H)。
总而言之:N E A D H
如果有人想在随Solr发行版一起交付的techproducts集合上尝试这个查询:if(gte(ms(manufacturedate_dt,2006-02-13T15:26:36Z),0),ms(manufacturedate_dt,2006-02-13T15:26:36Z),sum(ms(2006-02-13T15:26:36Z,manufacturedate_dt),4125333600000)) asc
https://stackoverflow.com/questions/40260861
复制相似问题