首页 > 解决方案 > 如何使用 TZ 参数在 solr 中获取文字日期范围查询

问题描述

带有 URL 的 GET 请求

http://localhost:9999/solr/foo_core/select?q=event_name:video-start&fq=event_dt:[2018-07-09T18:38:00Z TO 2018-07-09T18:39:00Z]&TZ=Asia/Kolkata

返回与未指定 TZ 参数时相同的结果。似乎 TZ 参数没有覆盖 UTC("Zulu")。

标签: solr

解决方案


这不是 TZ 参数的工作方式。在这些情况下,您可以在将时间戳发送到 Solr 之前将其转换为 UTC(因为Solr 中的任何日期时间都已经是 UTC),并且您的范围将是正确的。

TZ 参数用于日期舍入和 Solr 内的日期算术(例如范围分面):

默认情况下,所有日期数学表达式都相对于 UTC 时区进行评估,但可以指定 TZ 参数来覆盖此行为,方法是强制所有基于日期的加法和舍入相对于指定的时区。


推荐阅读