2012-11-27 3 views
1

this questionanswer I added (내 코드를 볼 수 있음)에서이어서 Oracle Database에서 올바른 날짜를 올바르게 검색 할 수 있습니다. 그러나 Solr은 일광 절약 시간을 기준으로 이것을 변환하는 것으로 보입니다. 예를 들어, DB 내 날짜 중 하나입니다Solr DataImportHandler - 오라클 날짜 - 일광 절약 시간

2011-09-29T 23:15:05Z 

즉 마이너스 일시 : SOLR에 삽입 할 때

2011-09-30T 00:15:05Z 

그러나, 그것은 것 같습니다. 내 솔루션의 해결 방법의 일부로 dateValue()을 사용하여 oracle.sql.TIMESTAMP에서 java.sql.Date으로 변환합니다. DataImportHandler의 ScriptTransformer에서이 값을 인쇄하면 원하는 형식으로 표시됩니다. 그러므로 나는 개종이 이상한 일을한다고 생각하지 않는다. 내가 SOLR에서이 문서를 검색 할 경우에만 :, 나는 그것이 변환 참조 나 SOLR는 일광 절약 시간을 감안 생각하게

<date name="STRT_DT">2011-09-29T23:15:05Z</date> 

을 예컨대을한다.

Solr이 날짜를 변환하지 않고 그대로 둘 수있는 방법이 있습니까?

답변

-1

Solr은 모든 DateField 값을 UTC 형식으로 저장합니다. Solr은 일광 절약 시간이 아닌 UTC로 값을 변환합니다. 나 자신이 직접 만든 사용자 정의 날짜 필드 유형을 작성하는 것으로는 알지 못하는이 동작을 변경할 수있는 방법이 없습니다. 자세한 내용은 DateField API docs을 참조하십시오.

+0

응답 해 주셔서 감사합니다. 나는 나의 날짜의 모든 것이 변환되지 않는다는 것을 질문에서 언급 했어야했다. 예를 들어, 11 월의 날짜는 2012-11-08T 22 : 59 : 59Z 이며 데이터베이스와 Solr에서 동일합니다. 이로 인해 일광 절약에 대해 생각하게되었습니다. 이 날짜도 변환되지 않을 것입니까? (따라서 -1 시간입니까?) –

+0

잘 모르겠습니다. 일광 절약 시간제에 해당하는 날짜에만 영향을 미치는지 확인할 수 있습니까? –

+0

예 : 다음과 같이 보입니다. --- 2012-10-28 00:00:00 돌아 가기 2012-10-29 00:00:00하지 않음 --- 2013-04 -01 00:00:00 돌아 가기 2013-03-31 00:00:00 does not --- 2013-10-27 00:00:00 돌아 가기 2013-10-28 00:00 : 00은 --- 입니다. 내 시간대의 시계가 항상 다음과 같습니다. user.timezone = 유럽/런던 Solr admin에 따르면. 내 DB는 문제가있는 곳 (즉, 동기화되지 않은 위치)에서 자동으로이 전환을 수행하지 않습니다. –