1

この質問私が追加した回答(私のコードはそこで見ることができます) に続いて、Oracle DB から正しい日付を正しく取得できます。ただし、Solr はこれを夏時間に基づいて変換するようです。たとえば、DB 上の私の日付の 1 つは次のとおりです。

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

ただし、Solr に挿入すると、次のようになります。

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

つまり、マイナス 1 時間です。oracle.sql.TIMESTAMP私のソリューションの回避策の一部として、私はからjava.sql.Dateusingに変換しdateValue()ます。この値を DataImportHandler の ScriptTransformer から出力すると、まだ目的の形式になっているように見えます。したがって、私の改宗が奇妙なことをしているとは思いません。このドキュメントを Solr から取得した場合にのみ、変換されたことがわかります。たとえば、次のようになります。

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

これは、Solrがサマータイムを考慮に入れていると私に思わせます。

Solrが日付を変換するのを防ぎ、そのままにしておく方法はありますか?

4

1 に答える 1

-1

Solr はすべての DateField 値を UTC 形式で保存します。Solr は値を夏時間ではなく UTC に変換しています。私が知っているこの動作を変更する方法はありません。独自のカスタム日付フィールド タイプを作成する以外に方法はありません。詳細については、DateField API ドキュメントを参照してください。

于 2012-11-27T18:15:05.963 に答える