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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于未存储的字段,值太大相关的知识,希望对你有一定的参考价值。

我有一个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”太大,必须<= 32766

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

答案

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>

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

以上是关于对于未存储的字段,值太大的主要内容,如果未能解决你的问题,请参考以下文章

ORA-01401: 对于 CHAR 列,插入的值太大

基础值太大(错误标记为“08”)bash

double的值太大的时候

查看 getHeight() 和 getWidth() 返回值太大

为列插入的值太大:“oracle.sql.STRUCT@c85ad79”

ZTree id值太大,ZTree没有生成树,ZTree的id值过大