2016-04-22 106 views
1

我在本地計算機的d:/tmp/docs位置有一些doc文件,我想用Apache Solr和Tika爲它們編制索引。以下是我的data-config.xml文件。使用apache solr和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> 

當我嘗試將這些文件導入到Solr中我得到以下異常:

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 

我想通了,SORL是無法找到d:/temp/docs文件夾。

不知道如何解決。任何幫助讚賞。

回答

0

查詢的網址爲數據源的BaseDir

嘗試從

BASEDIR變化= 「d:/溫度/文檔」

BASEDIR =「d:/溫度/文檔/ 「

並更改文件名如*.*以索引該文件夾中的所有文檔

+0

做到了這一點......同樣的問題仍然存在 –

0

解決...

我在我的數據-config.xml中多個數據源標記出其中一個是<dataSource type="URLDataSource" /> 導致問題。所以我刪除了所有的數據源和唯一保持<dataSource type="BinFileDataSource" />

它的工作... :)