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



我在本地机器d:/tmp/docs位置有一些文档文件,我想使用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文件夹。

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

已解决...

我的数据配置中有多个数据源标签.xml其中一个是<dataSource type="URLDataSource" /> 导致问题.. 所以我删除了所有的数据源,只保留了<dataSource type="BinFileDataSource" />

它奏效了... :)

检查数据源 baseDir 的 url

尝试从

baseDir="D:/temp/docs"

baseDir="D:/temp/docs/"

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

相关内容

  • 没有找到相关文章

最新更新