索引与太阳能大文档导致异常
问题描述:
我想用pysolr将文档添加到Solr(5.3.2)。 我生成一个简单的JSON对象包含一个大文本和一些元数据(日期,作者...),然后我尝试将其添加到Solr。 我的问题是,超过一定规模,Solr的将无法索引文档,并且返回以下错误:索引与太阳能大文档导致异常
Solr responded with an error (HTTP 400): [Reason: Exception writing document id e2699f18-ab5f-47f6-a450-60db5621879c to the index; possible analysis error.]
真有似乎是一个硬编码限制对某个字段的长度,但我无法找到它。
通过在python玩弄我发现:
default_obj['content'] = content[:13260]
将正常工作,而
default_obj['content'] = content[:13261]
会导致错误。
内容字段在我的schema.xml中定义为普通类型=“text_general”字段。
编辑:这里是schema.xml中定义
<field name="content" type="text_general" indexed="true" stored="true" multiValued="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我曾试图通过Solr的Web管理界面手动添加的内容,但我得到确切同样的问题。
答
您很可能会遇到单个令牌的硬性限制,等于32766.您无法更改此限制,但是,您可以更改行为并使用一些Tokenizer将原始文本拆分为将文档分成不同的标记。
例如,您可以尝试WhitespaceTokenizer,它将用多个词条/标记分隔您的大字段,并且您的文档将被安全地编入索引。
+0
很奇怪,文本间距适当,最长的标记可能只有10个字符长。 – user2969402
你能分享你的schema.xml文件吗?你试图添加这个内容 – Mysterion
用schema.xml编辑我的文章info – user2969402