我不知道如何通過DataImportHandler從mysql導入正確的日期時間到solr。導入後的日期時間值獲得中減去2小時如何從mysql導入正確的datetime到solr?
MySQL的 「created_at 2013年4月5日15時04分21秒」 獲得Solr中爲 「created_at」: 「2013-04-05T13:04:21Z」
mysql @@ global.time_zone,@@ session.time_zone都是系統並顯示正確的CET時間。
這裏我的數據-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"/>
見http://stackoverflow.com/questions/5149606/solr-not-saving-time-in -utc格式。 Solr將您輸入的CET時間轉換爲UTC,這是唯一的格式Solr將接受日期。 – arun 2013-04-06 06:33:03
我現在的解決方案是使用UTC提供Solr,並通過javascript toLocaleString()在瀏覽器客戶端格式化日期時間。 [https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date#Date_instances] – domfry 2013-04-09 14:56:18