【发布时间】:2013-04-05 15:34:57
【问题描述】:
我不知道如何通过 DataImportHandler 将正确的日期时间从 mysql 导入到 solr。导入后,日期时间值减去 2 小时
mysql "created_at 2013-04-05 15:04:21" 进入 solr 到 "created_at":"2013-04-05T13:04:21Z"
mysql @@global.time_zone, @@session.time_zone 都是系统,显示正确的 CET 时间。
这里是我的 data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/test"
user="+++" password="++++/> <document>
<entity name="id"
query="SELECT table.created_at, ... from table"
<field column="created_at" name="created_at"/>
我尝试使用 CONVERT_TZ 命令。在mysql中它解决了。但是使用 solr 我没有成功,created_at 值根本没有被索引。
<entity name="id"
query="SELECT query="SELECT CONVERT_TZ(table.created_at,'+00:00','+01:00'), ... from table"
<field column="created_at" name="created_at"/>
【问题讨论】:
-
见stackoverflow.com/questions/5149606/…。 Solr 正在将您输入的 CET 时间转换为 UTC,这是 Solr 接受日期的唯一格式。
-
我现在的解决方案是向 Solr 提供 UTC,并通过 javascript toLocaleString() 在浏览器客户端中格式化日期时间; [developer.mozilla.org/en-US/docs/JavaScript/Reference/…
标签: mysql datetime solr dataimporthandler convert-tz