2016-06-01 18 views
0

Beim Indizieren von Daten aus einem lokalen Ordner auf meinem System verwende ich die unten angegebene Konfiguration. Das letzte modifizierte Attribut wird indiziert im Format "Mi 23 Mai 09:48:08 UTC ", das ist nicht das Standardformat, das von solr für Filterabfragen verwendet wird. Also versuche ich das lastmodified Attribut in der Datei data-config.xml wie unten angegeben zu formatieren.DateFormatTransformer arbeitet nicht mit FileListEntityProcessor im Datenimport Handler

<dataConfig> 
    <dataSource name="bin" type="BinFileDataSource" /> 
    <document> 
     <entity name="f" dataSource="null" rootEntity="false" 
      processor="FileListEntityProcessor" 
      baseDir="D://FileBank" 
      fileName=".*\.(DOC)|(PDF)|(pdf)|(doc)|(docx)|(ppt)" onError="skip" 
      recursive="true" transformer="DateFormatTransformer"> 

      <field column="fileAbsolutePath" name="path" /> 
      <field column="fileSize" name="size" /> 
      <field column="fileLastModified" name="lastmodified" dateTimeFormat="YYYY-MM-DDTHH:MM:SS.000Z" locale="en"/> 
      <entity name="tika-test" dataSource="bin" processor="TikaEntityProcessor" 
      url="${f.fileAbsolutePath}" format="text" onError="skip"> 
       <field column="Author" name="author" meta="true"/> 
       <field column="title" name="title" meta="true"/> 
       <!--<field column="text" />-->   
      </entity> 
     </entity> 
    </document> 
</dataConfig> 

Aber es gibt keinen Effekt des Transformators, und dasselbe Format wird wieder indiziert. Hat jemand Erfolg damit? Ist die obige Konfiguration richtig oder fehlt mir etwas?

Antwort

1

Ihr bereitgestelltes dateTimeFormat scheint nicht korrekt zu sein. Die Groß- und Kleinbuchstaben have different meaning. Auch das von Ihnen angezeigte Format stimmt nicht mit dem Datum überein, das Sie analysieren möchten. Also, es hält es wahrscheinlich als unübertroffen.

Auch wenn Sie mehrere verschiedene Datumsformate haben, können Sie sie analysieren nach DIH läuft durch Erstellen einer benutzerdefinierten UpdateRequestProcessor-Kette. Sie können schemaless Beispiel sehen, wo es mehrere Datumsformate als Teil der automatischen Zuordnung gibt, aber Sie könnten das gleiche auch explizit für ein bestimmtes Feld tun.

+0

Danke !! Es war eine Antwort !! –