Solr DataImportHandler索引中的Oracle日期不正确

Solr DataImportHandler索引中的Oracle日期不正确,oracle,solr,indexing,timezone,dataimporthandler,Oracle,Solr,Indexing,Timezone,Dataimporthandler,我使用Solr3.4对DataImportHandler从Oracle10数据库检索到的字段进行索引。“日期”类型的Oracle字段的值为:2011-09-20。类型为“Solr.TrieDateField”的Solr索引字段的值为2011-09-19T22:00:00Z。我的(oracle、solr、windows)时区是GMT+1。我希望有solr索引字段值:2011-09-19T23:00:00Z。为什么不是呢 配置: <dataConfig> <dataSour

我使用Solr3.4对DataImportHandler从Oracle10数据库检索到的字段进行索引。“日期”类型的Oracle字段的值为:2011-09-20。类型为“Solr.TrieDateField”的Solr索引字段的值为2011-09-19T22:00:00Z。我的(oracle、solr、windows)时区是GMT+1。我希望有solr索引字段值:2011-09-19T23:00:00Z。为什么不是呢

配置:

<dataConfig>
    <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:***" user="" password="" />
    <document>
        <entity name="event" query="select start_date from event" >
        </entity>
    </document>
</dataConfig>
solr是否使用dbtimezone而不是sessiontimezone

我找到了答案:

SELECT FROM_TZ(timestamp '2011-08-20 00:00:00', 'CET') AT TIME ZONE 'GMT' from dual;
11/08/19 22:00:00,000000000 GMT
SELECT FROM_TZ(timestamp '2011-12-20 00:00:00', 'CET') AT TIME ZONE 'GMT' from dual;
11/12/19 23:00:00,000000000 GMT

第一个日期包括夏令时,第二个不包括。很明显。

你找到解决这个问题的方法了吗?
SELECT FROM_TZ(timestamp '2011-08-20 00:00:00', 'CET') AT TIME ZONE 'GMT' from dual;
11/08/19 22:00:00,000000000 GMT
SELECT FROM_TZ(timestamp '2011-12-20 00:00:00', 'CET') AT TIME ZONE 'GMT' from dual;
11/12/19 23:00:00,000000000 GMT