この質問と私が追加した回答(私のコードはそこで見ることができます) に続いて、Oracle DB から正しい日付を正しく取得できます。ただし、Solr はこれを夏時間に基づいて変換するようです。たとえば、DB 上の私の日付の 1 つは次のとおりです。
2011-09-30T 00:15:05Z
ただし、Solr に挿入すると、次のようになります。
2011-09-29T 23:15:05Z
つまり、マイナス 1 時間です。oracle.sql.TIMESTAMP
私のソリューションの回避策の一部として、私はからjava.sql.Date
usingに変換しdateValue()
ます。この値を DataImportHandler の ScriptTransformer から出力すると、まだ目的の形式になっているように見えます。したがって、私の改宗が奇妙なことをしているとは思いません。このドキュメントを Solr から取得した場合にのみ、変換されたことがわかります。たとえば、次のようになります。
<date name="STRT_DT">2011-09-29T23:15:05Z</date>
これは、Solrがサマータイムを考慮に入れていると私に思わせます。
Solrが日付を変換するのを防ぎ、そのままにしておく方法はありますか?