使用Solr提取PDF元数据时出错

时间:2011-08-01 04:16:40

标签: solr lucene apache-tika

我正在使用Solr 3.3,我正在尝试从PDF文件中提取和索引元数据。我正在使用DataImportHandler和TikaEntityProcessor来添加文档。以下是我的schema.xml文件中定义的字段:

<field name="title" type="text" indexed="true" stored="true" multiValued="false"/>
   <field name="description" type="text" indexed="true" stored="true" multiValued="false"/>
   <field name="date_published" type="string" indexed="false" stored="true" multiValued="false"/>
   <field name="link" type="string" indexed="true" stored="true" multiValued="false" required="false"/>
   <field name="imgName" type="string" indexed="false" stored="true" multiValued="false" required="false"/>
   <dynamicField name="attr_*" type="textgen" indexed="true" stored="true" multiValued="false"/>

所以我认为应该将元数据信息编入索引并存储在前缀为“attr_”的字段中。

以下是我的数据配置文件的外观。它从数据库获取源目录路径,将其传递给FileListEntityProcessor,它将目录中找到的每个pdf文件传递给TikaEntityProcessor以提取和索引内容。

<entity onError="skip" name="fileSourcePaths" rootEntity="false" dataSource="dbSource" fileName=".*pdf" query="select path from file_sources">
      <entity name="fileSource" processor="FileListEntityProcessor" transformer="ThumbnailTransformer" baseDir="${fileSourcePaths.path}" recursive="true" rootEntity="false">
        <field name="link" column="fileAbsolutePath" thumbnail="true"/>
        <field name="imgName" column="imgName"/>
        <entity rootEntity="true" onError="abort" name="file" processor="TikaEntityProcessor" url="${fileSource.fileAbsolutePath}" dataSource="fileSource" format="text">
          <field column="resourceName" name="title" meta="true"/>
          <field column="Creation-Date" name="date_published" meta="true"/>
          <field column="text" name="description"/>
        </entity>
      </entity>

它提取描述和Creation-date很好,但它似乎不是在提取resourceName,因此在查询索引时没有文档的title字段。这很奇怪,因为Creation-date和resourceName都是元数据。此外,没有其他可能的元数据存储在attr_字段下。我遇到了一些线程,说有使用Tika 0.8的问题,所以我下载了Tika 0.9并将其替换为0.8。我还下载并替换了pdfbox,jempbox和fontbox从1.3到1.4。

我用Tika单独测试了一个pdf,看看哪些元数据与文件一起存储。这是我发现的:

Content-Length: 546459 
Content-Type: application/pdf 
Creation-Date: 2010-06-09T12:11:12Z 
Last-Modified: 2010-06-09T14:53:38Z 
created: Wed Jun 09 08:11:12 EDT 2010 
creator: XSL Formatter V4.3 MR9a (4,3,2009,1022) for Windows 
producer: Antenna House PDF Output Library 2.6.0 (Windows) 
resourceName: Argentina.pdf 
trapped: False 
xmpTPg:NPages: 2

如您所见,它确实有一个resourceName元数据。我再次尝试索引,但得到了相同的结果。创建日期提取和索引很好但不是resourceName。此外,其余属性未在attr_字段下编制索引。

出了什么问题?

0 个答案:

没有答案