我有一些文件存储在一个文件夹中,我正在使用tika定期将它们导入Solr。
data-import.xml文件是:
<dataSource name="tika" type="BinFileDataSource" />
<document>
<entity dataSource="tika" name="files" rootEntity="false"
processor="FileListEntityProcessor"
baseDir="/home/user/public_html/files" fileName=".*\.(doc)|(pdf)|(docx)"
onError="skip"
recursive="true">
<field column="fileAbsolutePath" name="id" />
<field column="fileSize" name="size_i" />
<field column="fileLastModified" name="lastModified_s" />
<entity
name="documentImport"
processor="TikaEntityProcessor"
url="${files.fileAbsolutePath}"
format="text"
dataSource="tika">
<field column="file" name="fileName_s"/>
<field column="Author" name="author_s" meta="true"/>
<field column="title" name="title_s" meta="true"/>
<field column="text" name="details_s"/>
<field column="text" name="_text"/>
</entity>
</entity>
</document>
</dataSource>
当前正在发生的事情是solr正在读取所有文件,但它实际上只是处理第一个文件,看来一旦导入第一个文件,文档指针就会设置为#2并且在整个文件中保持为空其余的文件。这似乎只在填充的文档上增加。
这是solr在导入字段时的输出,正如您在第一个文件导入文档#1(D#1)和文档#2(D#2)上看到的那样,D#1有内容和D #2是空的。
在任何后续行中,不会创建D#1,但D#2仍为空。
"----------- row #1-------------",
"fileSize",
2161971,
"fileLastModified",
"2013-06-27T15:40:17Z",
"fileAbsolutePath",
"/home/user/public_html/files/test1.pdf",
"fileDir",
"/home/user/public_html/files",
"file",
"test1.pdf",
null,
"---------------------------------------------",
"entity:documentImport",
[
"document#1",
[
"query",
"/home/user/public_html/files/test1.pdf",
"time-taken",
"0:0:0.0",
null,
"----------- row #1-------------",
"text",
"blah! testing.",
"title",
"testing",
"Author",
"user",
null,
"---------------------------------------------"
],
"document#2",
[]
],
null,
"----------- row #2-------------",
"fileSize",
567396,
"fileLastModified",
"2014-02-17T14:46:55Z",
"fileAbsolutePath",
"/home/user/public_html/files/test2.pdf",
"fileDir",
"/home/user/public_html/files",
"file",
"test2.pdf",
null,
"---------------------------------------------",
"entity:documentImport",
[
"document#2",
[]
],
任何人都可以告诉我如何重置documentImport上的指针,或者我如何让它导入所有文件而不只是一个?
非常感谢
更新#1: 我已经使用相同的配置安装了Solr 4.10.3并且它现在正在工作,我相信这个问题可能是由混合的东西造成的,但最引人注目的是从Tika 1.5升级 - &gt; Tika 1.7介于4.10.3和5.0.0之间
如果有人在我继续前进之前可以确认。
答案 0 :(得分:0)
我使用过的Tika和Solr,以下是我的data-config.xml
<dataConfig>
<dataSource name="bin" type="BinFileDataSource" />
<document>
<entity name="files" dataSource="null" rootEntity="false"
processor="FileListEntityProcessor"
baseDir="/home/user/public_html/files" 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" dataSource="bin"
processor="TikaEntityProcessor"
url="${files.fileAbsolutePath}"
format="text" onError="skip">
<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>