Solr中的时区感知日期方面

时间:2016-03-16 16:17:50

标签: solr

我需要能够在solr中返回一系列Facet计数,按日期和时区识别。我可以在白天恢复分组,但是当提供时区时,它只是改变组,以便所有组不再调整到当天的开始 - 它们只是在时区调整之外。哪个并不真正提供正确的信息。

我有以下Solr查询:

  • facet.date.start = NOW / DAY-1DAY
  • facet.date.end = NOW
  • facet.date = auction_date_utc
  • facet.date.gap = + 1DAY

GMT,多么令人愉快!

   "2015-08-12T00:00:00Z":1,
   "2015-08-13T00:00:00Z":3,
   "2015-08-14T00:00:00Z":2,
   "2015-08-17T00:00:00Z":2,
   "2015-08-18T00:00:00Z":6,

洛杉矶时区,非常悲伤。

当我添加以下参数时: TZ = America / Los_Angeles

   "2015-08-12T07:00:00Z":1,
   "2015-08-13T07:00:00Z":3,
   "2015-08-14T07:00:00Z":2,
   "2015-08-17T07:00:00Z":2,
   "2015-08-18T07:00:00Z":6,

我错过了一些简单的解决方案,还是这是我能做的最好的?

1 个答案:

答案 0 :(得分:1)

这正是准确返回所需的数据。我以为我在我要求的时区中看到了,但你得到的是GMT - 有一个偏移量。当我看到小平面计算两个不同选择之间的相同位置时,我感到很困惑。使用亚洲时区显示计数实际上是不同的:

GMT:

"facet_dates":{
  "auction_date_utc":{
    "2015-07-17T00:00:00Z":3,
    "2015-07-20T00:00:00Z":10,
    "2015-07-21T00:00:00Z":18,
    "2015-07-22T00:00:00Z":6,
    "2015-07-23T00:00:00Z":4,

对于tz =" Pacific / Apia"

"facet_dates":{
  "auction_date_utc":{
    "2015-07-17T11:00:00Z":3,
    "2015-07-19T11:00:00Z":1,
    "2015-07-20T11:00:00Z":10,
    "2015-07-21T11:00:00Z":20,
    "2015-07-22T11:00:00Z":3,
    "2015-07-23T11:00:00Z":5,