Pdf 文档至少包含一个巨大的术语-Solr索引错误
我用我的一个PDF文件面对这个问题,我认为它由于文件太大而无法索引到Solr中。我在网上看到的回复大多建议将'content'的字段类型更改为'text\u general',我一直在使用该字段,但此特定PDF仍然无法编制索引 产生错误: 将文档id abc.com/files/hugepdf.pdf写入索引时出现异常;可能的分析错误:文档在field=“content”(其UTF8编码长于最大长度32766)中至少包含一个巨大的术语,所有这些术语都被跳过。请更正分析器,使其不产生此类术语。第一个巨大术语的前缀是:“[66,65,82,73,78,71,32,71,76,79,66,65,76,32,79,80,80,79,82,84,85,78,73,84,73,69,83,32,85,77]…”,原始消息:字节长度最多为32766;得到110482。可能文档的索引字符串字段(solr.StrField)太大 当前的“文本\u概述”模式Pdf 文档至少包含一个巨大的术语-Solr索引错误,pdf,solr,nutch,Pdf,Solr,Nutch,我用我的一个PDF文件面对这个问题,我认为它由于文件太大而无法索引到Solr中。我在网上看到的回复大多建议将'content'的字段类型更改为'text\u general',我一直在使用该字段,但此特定PDF仍然无法编制索引 产生错误: 将文档id abc.com/files/hugepdf.pdf写入索引时出现异常;可能的分析错误:文档在field=“content”(其UTF8编码长于最大长度32766)中至少包含一个巨大的术语,所有这些术语都被跳过。请更正分析器,使其不产生此类术语。第一
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.TruncateTokenFilterFactory" prefixLength="100"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>
<analyzer type="multiterm">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
请注意,我添加了一个“TruncateTokenFilterFactory”过滤器,它有助于解决大多数大型PDF文件的问题。但是,此PDF是一个例外
问题
为pdf内容编制索引是一个已知的“噩梦”。你永远不会得到100%正确的文本提取。我怀疑你这里的问题是提取对该pdf不起作用,它会返回一大堆垃圾。截断这不是最好的方法,忽略它会更好。使用“text_general”根本没有帮助 一些一般准则是:
PDFBox本身对PDF大小没有固定的限制。因此,使用ExtractText命令行工具仍然可以获取Solr之外的文本。谢谢。我想知道是否有任何方法可以检测大小大于32766的PDF,以便我可以在我的reg-urlfilter.txt中指定它们。有这样的方法吗?