首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SOLR -通过一个字段进行两次排序的双重搜索

SOLR -通过一个字段进行两次排序的双重搜索
EN

Stack Overflow用户
提问于 2016-10-26 19:15:37
回答 1查看 75关注 0票数 0

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

例如:

结果: NEADH

EN

回答 1

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40260861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档