2016-04-22 8 views
1

Ich habe einige doc-Dateien in d:/tmp/docs Speicherort auf meinem lokalen Rechner und ich möchte sie mit Apache Solr und Tika indizieren. Folgendes ist meine data-config.xml Datei.Indizierung Textdateien mit Apache Solr und Tika

<dataSource type="BinFileDataSource" /> 
    <document> 
     <entity name="file_Import" dataSource="null" rootEntity="false" 
     processor="FileListEntityProcessor" 
     baseDir="D:/temp/docs" fileName=".*\.(doc)|(pdf)|(docx)" 
     onError="skip" 
     recursive="true"> 
      <field column="fileAbsolutePath" name="id" /> 
      <field column="fileSize" name="size" /> 
      <field column="fileLastModified" name="lastModified" /> 

      <entity 
       name="documentImport" 
       processor="TikaEntityProcessor" 
       url="${files.fileAbsolutePath}" 
       format="text"> 
       <field column="file" name="fileName"/> 
       <field column="Author" name="author" meta="true"/> 
       <field column="title" name="title" meta="true"/> 
       <field column="text" name="text"/> 

      </entity> 
    </entity> 
    </document> 

Wenn ich versuche, diese Dateien in solr ich folgende Ausnahme erhalten zu importieren:

Caused by: java.net.MalformedURLException: no protocol: null 
    at java.net.URL.<init>(Unknown Source) 
    at java.net.URL.<init>(Unknown Source) 
    at java.net.URL.<init>(Unknown Source) 
    at org.apache.solr.handler.dataimport.URLDataSource.getData(URLDataSource.java:90) 
... 11 more 

Ich fand heraus, dass SORL nicht in der Lage ist d:/temp/docs Ordner zu suchen.

Weiß nicht, wie man löst. Jede Hilfe wird geschätzt.

Antwort

0

überprüfen Sie die URL für die Datenquelle baseDir

versuchen Wechsel von

baseDir = "D:/temp/docs"

zu

baseDir = "D:/temp/docs/"

und ändern Sie den Dateinamen wie *.*, um alle Dokumente in diesem Ordner zu indexieren

+0

tat das ... das gleiche Problem besteht fort –

0

Gelöst ...

ich mehr als eine Datasource-Tags hatte in meine Daten-config.xml aus denen man wurde <dataSource type="URLDataSource" /> ein Problem verursacht .. Also ich all die Datasources entfernt und behielt nur <dataSource type="BinFileDataSource" />

und es hat funktioniert ... :)