我在配置 Solr 4.10.3 DIH 以导入 XML 文件时遇到严重问题。尝试了几个小时,但没有运气。这是我的配置:
<dataConfig>
<dataSource encoding="UTF-8"
type="FileDataSource" basePath="/path/to/my/cores/root/myCoreName/"/>
<document>
<entity
name="pickupdir"
processor="FileListEntityProcessor"
rootEntity="false"
fileName=".*\.xml"
baseDir="/import"
recursive="true"
newerThan="${dataimporter.last_index_time}"
/>
<entity
name="xml"
processor="XPathEntityProcessor"
datasource="pickupdir"
stream="true"
useSolrAddSchema="true"
url="${pickupdir.fileAbsolutePath}"
xsl="solr.xsl"
/>
</document>
</dataConfig>
XSLT“solr.xls”将 XML 文件转换为 Solr 导入格式,因此我设置了 useSolrAddSchema="true"。但是,当我尝试从浏览器管理控制台运行此数据导入时,我不断收到错误消息:
java.io.FileNotFoundException: Could not find file: (resolved to: /path/to/my/cores/root/myCoreName/
这里有几件事我不清楚:
- 错误消息它没有说明它正在寻找哪个文件。
- 为什么在查找目录时提示“找不到文件”?
- 如果我正确理解了 dataSource 的“basePath”属性,这将是解析实体元素中给出的相对路径的基础。因此,baseDir“/import”将被解析为“/path/to/my/cores/root/myCoreName/import”。但这似乎没有正确发生。
- 我将如何配置路径以使用 solr root 的相对路径而不是绝对路径?
也许有人可以向我指出一些使用 XSLT 和 DIH 导入 XML 的工作示例。我想坚持使用 XSLT,因为它已经在工作了(我之前使用 Simple Post Tool 测试过导入)。
干杯,
马丁