我试图弄清楚为什么 Solr 认为文档是过去的。我的查询设置为使用
published:[* TO NOW/DAY]
我希望它能找到的文档的发布日期为
2012-04-30T04:00:00Z
当前的 Solr 服务器时间是 2012 年 4 月 30 日星期一 18:26:47 EDT。我的理解是该文档现在应该已经找到了,这让我认为现在/DAY 不像我认为的那样工作。有谁知道 NOW/DAY 如何评估日期以及为什么当我添加该规定时 Solr 找不到我的文档?
我试图弄清楚为什么 Solr 认为文档是过去的。我的查询设置为使用
published:[* TO NOW/DAY]
我希望它能找到的文档的发布日期为
2012-04-30T04:00:00Z
当前的 Solr 服务器时间是 2012 年 4 月 30 日星期一 18:26:47 EDT。我的理解是该文档现在应该已经找到了,这让我认为现在/DAY 不像我认为的那样工作。有谁知道 NOW/DAY 如何评估日期以及为什么当我添加该规定时 Solr 找不到我的文档?
NOW/DAY
表示取实际日期时间并将其四舍五入(省略时间)。当然,如果实际日期是2012-04-30
,任何时间,结果都是2012-04-30T00:00:00Z
。
尝试现在使用。我怀疑 NOW/DAY 等于 2012-04-30T00:00:00Z。
NOW/DAY
昨晚四舍五入到午夜。如果您想要当天的午夜更改为NOW+1DAY/DAY
.
日期数学语法
日期数学表达式包括以指定单位添加一定数量的时间,或将当前时间四舍五入指定单位。表达式可以链接并从左到右进行评估。
例如:这表示两个月后的时间点:
现在+2个月
这是一天前的事:
NOW-1DAY
斜线用于表示舍入。这表示当前小时的开始:
现在/小时
以下示例计算(以毫秒精度)未来六个月零三天的时间点,然后将该时间四舍五入到当天的开始:
现在+6个月+3天/天
请注意,虽然日期数学相对于 NOW 最常用,但它也可以应用于任何固定的时间点:
1972-05-20T17:33:18.772Z+6MONTHS+3DAYS/DAY