Ich versuche, Solr DataImportHandler zu verwenden, um einige Dokumente von einer Oracle DB zu indizieren, und alles funktioniert einwandfrei mit Ausnahme des korrekten Lesens einer Oracle Date-Spalte in mein Dokument.Die richtige Zeit von Oracle-Datum in Solr DataImportHandler
Ich habe das Feld in meinem Solr-Schema definiert als
<field name="release_date" type="date" indexed="true" stored="true" multiValued="false"/>
Ich versuchte zunächst nur eine einfache select-Anweisung der Datumsspalte in meinem DataImportHandler tun, aber alle die Termine werden mit falschen Zeitwerte indiziert . Zum Beispiel ein Datum, das in der DB als Januar 12, 2004 9.28 (EST) indiziert wird als:
<date name="release_date">2004-01-12T05:00:00Z</date>
alle Datumswerte den richtigen Tag haben, aber sie alle haben T05 : 00: 00Z als ihre Zeit. Meine beste Vermutung, was passiert ist, dass es die Zeit von der DB als Mitternacht liest und sie in UTC umrechnet. Wenn dies der Fall ist, würde ich erwarten, dass der korrekte Wert T14: 28: 00Z lautet.
Warum wird der Zeitabschnitt der DB-Spalte nicht abgerufen? Ich weiß, dass es eine transformer for dates gibt, die mit der DIH kommt, aber ich bin nicht ganz klar, wie es funktionieren soll. Ich versuchte auch
in der DIH, aber das schien nichts zu ändern.
Was ist der Typ des Feldes in Oracle? –
Der Datentyp des Feldes in Oracle ist Date. – dwc86
Worauf ist das nls_date_format eingestellt? Was bekommst du auch, wenn du 'sysdate from dual' auswählst? –