索引与太阳能大文档导致异常

问题描述:

我想用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管理界面手动添加的内容,但我得到确切同样的问题。

+0

你能分享你的schema.xml文件吗?你试图添加这个内容 – Mysterion

+0

用schema.xml编辑我的文章info – user2969402

您很可能会遇到单个令牌的硬性限制,等于32766.您无法更改此限制,但是,您可以更改行为并使用一些Tokenizer将原始文本拆分为将文档分成不同的标记。

例如,您可以尝试WhitespaceTokenizer,它将用多个词条/标记分隔您的大字段,并且您的文档将被安全地编入索引。

+0

很奇怪,文本间距适当,最长的标记可能只有10个字符长。 – user2969402