1
從this question和answer I added(我的代碼可以在此處查看)開始,我可以從Oracle DB正確檢索正確的日期。但是,Solr似乎將其轉換爲夏令時。例如,我在DB的日子之一是:Solr DataImportHandler - Oracle日期 - 夏令時
2011-09-30T 00:15:05Z
然而,當插入Solr的,它看起來像:
2011-09-29T 23:15:05Z
即減去一個小時。作爲解決方案的解決方案的一部分,我使用dateValue()
將oracle.sql.TIMESTAMP
轉換爲java.sql.Date
。當我從DataImportHandler的ScriptTransformer輸出這個值時,它看起來仍然是我想要的格式。因此,我認爲我的轉換並不奇怪。只有當我檢索Solr的這個文件我會看到它轉換,例如:
<date name="STRT_DT">2011-09-29T23:15:05Z</date>
這讓我想到的Solr在夏令小時融通。
有沒有什麼辦法可以防止Solr轉換日期,並保持原樣?
感謝您的回覆。我應該在問題中提到,並非所有的日期都被轉換。例如,從11月的日期: 2012-11-08T 22:59:59Z 是相同的數據庫和Solr,這讓我想到夏令時。這個日期是否也會被轉換(因此是-1小時)? –
我不確定。你能否確認這隻會影響日光節約時間? –
是的,它看起來是,例如: --- 2012-10-28 00:00:00回去 2012-10-29 00:00:00不是 --- 2013-04 -01 00:00:00回去 2013-03-31 00:00:00不是 --- 2013-10-27 00:00:00回去 2013-10-28 00:00: 00不是 --- 這些都是時鐘在我的時間變化的所有時間,這是: user.timezone = Europe/London 根據Solr管理員。我的數據庫不會自動執行此轉換,這是問題所在(即它們不同步)。 –