4

我试图弄清楚为什么 Solr 认为文档是过去的。我的查询设置为使用

published:[* TO NOW/DAY]

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

2012-04-30T04:00:00Z

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

4

3 回答 3

6

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

于 2012-05-01T08:49:47.747 回答
0

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

于 2012-04-30T23:19:25.740 回答
0

NOW/DAY昨晚四舍五入到午夜。如果您想要当天的午夜更改为NOW+1DAY/DAY.

日期数学语法

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

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

现在+2个月

这是一天前的事:

NOW-1DAY

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

现在/小时

以下示例计算(以毫秒精度)未来六个月零三天的时间点,然后将该时间四舍五入到当天的开始:

现在+6个月+3天/天

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

1972-05-20T17:33:18.772Z+6MONTHS+3DAYS/DAY

引用自Apache Solr 参考指南 - 使用日期

于 2017-02-04T14:10:05.907 回答