I am running Solr 4.3.0, using DIH to import data from MySQL. I am running into a very strange problem where data from a datetime column being imported with the right date but the time is 00:00:00. I tried using SQL DATE_FORMAT() and also DIH DateFormatTransformer but nothing works. The raw debug response of DIH, it looks like the time porting of the datetime data is already 00:00:00 in Solr jdbc query result.
So I looked at the source code of DIH JdbcDataSource class. It is using java.sql.ResultSet and its getDate() method to handle date column. The getDate() method returns java.sql.Date. The java api doc for java.sql.Date http://docs.oracle.com/javase/6/docs/api/java/sql/Date.html states that: "To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated." This seems to be describing exactly my problem. Has anyone else notice this problem? Has anyone use DIH to index SQL datetime successfully? If so can you send me the relevant portion of the DIH config? Bill