Solr の DataImportHandler を使用して、Oracle DB からいくつかのドキュメントのインデックスを作成しようとしていますが、Oracle Date 列をドキュメントに正しく読み込むことを除いて、すべて正常に動作しています。
Solrスキーマのフィールドを次のように定義しています
<field name="release_date" type="date" indexed="true" stored="true" multiValued="false"/>
最初に、DataImportHandler の日付列の基本的な選択ステートメントだけを実行しようとしましたが、すべての日付が正しくない時間値でインデックス付けされています。たとえば、2004 年 1 月 12 日 09:28 AM (EST) として DB にある日付は、次のようにインデックス化されています。
<date name="release_date">2004-01-12T05:00:00Z</date>
すべての日付値には正しい日がありますが、時間はすべて T05:00:00Z です。何が起こっているのかについての私の最善の推測は、DB から時刻を真夜中として読み取り、それを UTC に変換していることです。この場合、正しい値は T14:28:00Z であると予想されます。
DB 列の時刻部分が取得されないのはなぜですか? DIH に付属する日付用のトランスフォーマーがあることは知っていますが、 それがどのように機能するのかは完全にはわかりません。私もやってみました
<field column="RELEASE_DATE" name="release_date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
DIHで、しかしそれは何も変わらないようでした.