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

Solr查询中的NOW/DAY是如何工作的?,solr,Solr,我想弄明白为什么索尔认为医生已经过去了。我的查询设置为使用 published:[*至今/日] 我希望它能找到的文件的出版日期是 2012-04-30T04:00:00Z 当前Solr服务器时间为2012年4月30日星期一18:26:47 EDT。我的理解是,文档现在应该已经找到了,这让我觉得“现在/一天”的工作方式与我认为的不一样。有人知道“现在/每天”是如何计算日期的,以及为什么当我添加该规定时Solr找不到我的文档吗?尝试立即使用。我怀疑NOW/DAY等于2012-04-30T00:00

我想弄明白为什么索尔认为医生已经过去了。我的查询设置为使用

published:[*至今/日]

我希望它能找到的文件的出版日期是

2012-04-30T04:00:00Z

当前Solr服务器时间为2012年4月30日星期一18:26:47 EDT。我的理解是,文档现在应该已经找到了,这让我觉得“现在/一天”的工作方式与我认为的不一样。有人知道“现在/每天”是如何计算日期的,以及为什么当我添加该规定时Solr找不到我的文档吗?

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

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

NOW/DAY
四舍五入到昨晚午夜。如果要更改当前日期的午夜,请使用
NOW+1DAY/day

日期数学语法

日期数学表达式包括添加一些 以指定单位表示的时间量,或将当前时间四舍五入 特定的单位。表达式可以链接起来,并可以向左求值 对

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

现在+2个月

这是一天前:

现在-1天

斜线用于表示舍入。这表示当前小时的开始:

现在/小时

以下示例计算(毫秒精度) 未来六个月零三天的时间点 将该时间循环到当天的开始:

现在+6个月+3天/天

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

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


引自

谢谢,这很有道理。我们所做的是将规则切换到
NOW/DAY+1
,以确保捕捉到在该天发布的任何内容。以下是一个有用的参考: