使用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:/温度/文档/ “
并更改文件名如*.*
以索引该文件夹中的所有文档
答
解决...
我在我的数据-config.xml中多个数据源标记出其中一个是<dataSource type="URLDataSource" />
导致问题。所以我删除了所有的数据源和唯一保持<dataSource type="BinFileDataSource" />
它的工作... :)
做到了这一点......同样的问题仍然存在 –