Solr查询中的NOW / DAY如何工作?

时间:2012-04-30 22:29:17

标签: solr

我想弄清楚为什么Solr认为医生过去了。我的查询设置为使用

published:[* TO NOW/DAY]

我希望它找到的文件的发布日期为

2012-04-30T04:00:00Z

当前的Solr服务器时间是2012年4月30日星期一18:26:47。我的理解是说应该已经找到该文件了,这让我觉得NOW / DAY不会像我认为的那样工作。有没有人知道NOW / DAY如何评估日期以及当我添加该规定时Solr没有找到我的文档的原因?

3 个答案:

答案 0 :(得分:5)

NOW/DAY表示取实际日期时间并将其四舍五入到当天(不计时间)。当然,如果实际日期为2012-04-30,则为任何小时,结果为2012-04-30T00:00:00Z

答案 1 :(得分:0)

尝试使用NOW。我怀疑NOW / DAY等于2012-04-30T00:00:00Z。

答案 2 :(得分:0)

NOW/DAY昨晚一直到午夜。如果您希望当天的午夜更改为NOW+1DAY/DAY

  

日期数学语法

     

日期数学表达式包括添加一些   指定单位的时间量,或舍入当前时间   指定的单位。表达式可以链接并进行评估   对。

     

例如:这代表两个月后的某个时间点   现在:

     

现在+ 2MONTHS

     

这是一天前:

     

NOW-1DAY

     

斜杠用于表示舍入。这代表当前时间的开始:

     

现在/小时

     

以下示例计算(精度为毫秒)   未来六个月和三天的时间点然后   那个时间到那天开始:

     

现在+ 6个月+ 3DAYS /天

     

请注意,虽然日期数学最常用于现在,但它可以   适用于任何固定的时刻:

     

1972-05-20T17:33:18.772Z + 6个月+ 3DAYS /天

引自Apache Solr Reference Guide - Working with Dates