【问题标题】:How does NOW/DAY in a Solr query work?Solr 查询中的 NOW/DAY 是如何工作的?
【发布时间】:2012-04-30 22:29:17
【问题描述】:

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

published:[* TO NOW/DAY]

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

2012-04-30T04:00:00Z

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

【问题讨论】:

    标签: solr


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      日期数学语法

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

      例如:这表示从两个月开始的时间点 现在:

      现在+2个月

      这是一天前的事:

      现在-1DAY

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

      现在/小时

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

      现在+6 个月+3 天/天

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

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

      引自Apache Solr Reference Guide - Working with Dates

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-26
        • 2018-11-25
        相关资源
        最近更新 更多