我想使用Solr的DataImportHandler从Oracle数据库索引一些文件,并且一切正常工作正常阅读Oracle日期列到我的文档的异常。从Oracle日期获取正确的时间在Solr DataImportHandler
我有场定义为
<field name="release_date" type="date" indexed="true" stored="true" multiValued="false"/>
我第一次尝试这样做,我DataImportHandler日期列的只是一个基本的select语句我Solr模式,但所有的日期正在用不正确的时间值索引。举例来说,这是在DB为2004年1月12日,日期上午9点28分(美国东部时间)被索引为:
<date name="release_date">2004-01-12T05:00:00Z</date>
所有的日期值有正确的一天,但他们都有T05 :00:00Z作为他们的时间。对于发生的事情我最好的猜测是它从午夜时间读取数据库的时间并将其转换为UTC。如果是这种情况,我希望正确的值读取T14:28:00Z。
为什么它不拾取数据库列的时间部分?我知道DIH附带有一个transformer for dates,但我不完全清楚它应该如何工作。我也试过
<field column="RELEASE_DATE" name="release_date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
在DIH中,但那似乎没有改变任何东西。
Oracle中该字段的类型是什么? – 2012-04-11 18:23:49
Oracle中字段的数据类型是Date。 – dwc86 2012-04-11 18:31:10
什么是nls_date_format设置为?另外,如果你只是'从双重选择sysdate',你会得到什么? – 2012-04-11 20:43:07