我正在使用我的一个PDF文件来解决这个问题,我认为由于文件太大而无法将其编入索引。我在网上看到的回复主要是建议改变 '内容的字段类型。我一直在使用
错误产生:
异常将文件id abc.com/files/hugepdf.pdf写入索引;可能的分析错误: 文档在字段中包含至少一个巨大的术语="内容" (其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)太大
' text_general'
的当前架构 <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>
请注意我添加了一个&#39; TruncateTokenFilterFactory&#39;过滤器有助于解决大多数大型PDF文件的问题。但是这个PDF是一个例外。
问题
答案 0 :(得分:0)
索引pdf内容是众所周知的“噩梦”。你永远不会得到100%正确的文本提取。我怀疑你的问题是提取不适用于那个pdf,它返回了一大堆垃圾。截断这不是最好的方法,忽略它会更好。使用'text_general'根本没用。
一些通用指南将是: