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

时间:2016-04-22 07:32:23

标签: solr apache-tika

我的本​​地计算机上的d:/tmp/docs位置有一些doc文件,我想使用Apache Solr和Tika对它们进行索引。以下是我的data-config.xml文件。

<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文件夹。

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

2 个答案:

答案 0 :(得分:0)

检查数据源baseDir的URL

尝试从

改变

BASEDIR =&#34; d:/温度/文档&#34;

BASEDIR =&#34; d:/温度/文档/&#34;

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

答案 1 :(得分:0)

已解决......

我的data-config.xml中有多个dataSource标记,其中一个是<dataSource type="URLDataSource" /> 导致问题..所以我删除了所有的dataSources并只保留<dataSource type="BinFileDataSource" />

它有效......:)