1

根据这个问题我添加的答案(我的代码可以在那里查看),我可以从我的 Oracle DB 中正确检索正确的日期。但是,Solr 似乎根据夏令时转换了它。例如,我在 DB 上的日期之一是:

2011-09-30T 00:15:05Z

但是,当插入 Solr 时,它看起来像:

2011-09-29T 23:15:05Z

即减去一小时。作为解决方案的一部分,我oracle.sql.TIMESTAMPjava.sql.Date使用dateValue(). 当我从 DataImportHandler 的 ScriptTransformer 打印这个值时,它看起来仍然是我想要的格式。因此,我不认为我的转变有什么奇怪的。只有当我从 Solr 检索此文档时,我才能看到它已转换,例如:

<date name="STRT_DT">2011-09-29T23:15:05Z</date>

这让我认为 Solr 正在考虑夏令时。

有什么方法可以防止 Solr 转换日期并保持原样?

4

1 回答 1

-1

Solr 以 UTC 格式存储所有 DateField 值。Solr 将您的值转换为 UTC,而不是夏令时。据我所知,除了创建自己的自定义日期字段类型之外,没有办法改变这种行为。有关详细信息,请参阅DateField API 文档。

于 2012-11-27T18:15:05.963 回答