对于未存储的字段,值太大

时间:2018-06-14 08:17:21

标签: solr

我有一个带有此字段的Solr架构

<field docValues="true" indexed="false" multiValued="false" name="big_field" stored="false" type="StrField"/>

当我尝试使用字段big_field的较大值索引文档时,出现此错误:

  

org.apache.solr.common.SolrException:写入文档ID的异常   1528882422008到该指数;可能的分析错误:DocValuesField   “big_field”太大,必须&lt; = 32766

你能解释一下为什么吗?我该怎么做才能解决这个问题?切换到TextField

1 个答案:

答案 0 :(得分:1)

StrField限制为32,766字节。

  

字符串(UTF-8编码的字符串或Unicode)。字符串用于   小字段,不以任何方式标记或分析。他们有个   硬限制略低于32K。

要存储超过32个32,766字节,您可以将TextField用作单个标记。

<fieldtype name="string_big" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
  </analyzer>
</fieldtype>

关键字标记符 - 此标记生成器将整个文本字段视为单个标记。