从Solr 6.3升级后,Solr 7.5无法索引pdf文件

时间:2018-10-05 16:05:55

标签: solr solr-cell

我们刚刚从Solr 6.3升级到7.5。在不更改架构或配置的情况下,我们尝试索引的每个pdf文件都会出现400错误。这些是Solr 6.3索引没有问题的文件。所有其他类型的复杂文件都像以前一样被索引,只是导致问题的pdf文件。

提示#1:在大约1900个pdf文件中,只有2个被成功处理。我们的大多数pdf文件都有一个主题和标题,但是这2个却没有。

提示#2:在控制台日志中,我们看到如下失败消息:RequestHandlerBaseorg.apache.solr.common.SolrException:未定义字段:“ pdf_docinfo_title”

我在架构中找不到具有该名称的字段。谷歌搜索pdf_docinfo_title并没有发现任何有用的信息。

1 个答案:

答案 0 :(得分:0)

由于您没有该名称的字段,也没有全部定义,因此,当Tika将其交回设置了字段pdf_docinfo_title的文档时,Solr会拒绝。

由于在可能的Solr版本之间升级了Tika,因此与6.3捆绑在一起的Tika的较早版本未包含此字段,而与7.5捆绑在一起的版本则正确提供了该字段。它代表pdf文件的文档标题。

您还可以使用fmap参数将字段从Tika映射到架构中的其他字段:

  

fmap.<source_field>

     

将一个字段名称映射(移动)到另一个。 source_field必须是传入文档中的字段,并且值是要映射到的Solr字段。示例:fmap.content=text会使Tika生成的内容字段中的数据移动到Solr的文本字段中。

您还可以使用参数uprefix来使Tika模块为所有未知字段添加通用前缀:

  

uprefix

     

使用给定前缀为模式中未定义的所有字段添加前缀。与动态字段定义结合使用时,这非常有用。示例:如果示例架构包含uprefix=ignored_

<dynamicField name="ignored_*" type="ignored"/>将有效地忽略Tika生成的所有未知字段
相关问题