Как импортировать правильную дату и время из mysql в solr?

Я не понимаю, как импортировать правильную дату и время из mysql в solr через DataImportHandler. После импорта значения даты и времени вычитаются через 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.

Здесь мои данные-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"/>

person domfry    schedule 05.04.2013    source источник
comment
См. stackoverflow.com/questions/ 5149606/. Solr преобразует время CET, которое вы передали, в UTC, и это единственный формат, который Solr будет принимать даты.   -  person arun    schedule 06.04.2013
comment
Мое решение теперь состоит в том, чтобы передать Solr с помощью UTC и отформатировать дату и время в клиенте браузера с помощью javascript toLocaleString(); [developer.mozilla.org/en-US/ документы/JavaScript/Справочник/   -  person domfry    schedule 09.04.2013


Ответы (1)


попробуйте это: я использовал это в своем индексировании,

$query= "SELECT DATE_FORMAT(CONVERT_TZ(table.created_at,'+00:00','+01:00'),'%Y-%m-%dT%TZ'),.. FROM table ";

0/solr-core/org/apache/solr/schema/DateField.html" rel="nofollow">Мауал DateField SOLR

person Suhel Meman    schedule 08.04.2013
comment
хорошо спасибо. Я проиндексировал даты в формате utc 2013-01-09T15:57:50Z .. это сработало нормально. Есть ли способ запросить форму даты solr во времени CET? или мне нужно преобразовать часовой пояс вне solr в моем пользовательском интерфейсе, например, через. JavaScript - person domfry; 08.04.2013
comment
Сухель Меман: спасибо, после того, как я добавил этот оператор sql в свой файл data-config.xml, поле created_at больше не индексировалось. - person domfry; 08.04.2013