使用apache solr和tika索引文本文件

问题描述:

我在本地计算机的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文件夹。

不知道如何解决。任何帮助赞赏。

查询的网址为数据源的BaseDir

尝试从

BASEDIR变化= “d:/温度/文档”

BASEDIR =“d:/温度/文档/ “

并更改文件名如*.*以索引该文件夹中的所有文档

+0

做到了这一点......同样的问题仍然存在 –

解决...

我在我的数据-config.xml中多个数据源标记出其中一个是<dataSource type="URLDataSource" /> 导致问题。所以我删除了所有的数据源和唯一保持<dataSource type="BinFileDataSource" />

它的工作... :)