我正在尝试使用 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 中定义为普通的 type="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 管理界面手动添加内容,但我遇到了完全相同的问题。