原因是managed-schema或schema.xml中,字段类型设置成了string,而实际字段的值长度大于32766,导致无法索引。
报Error creating document错误
报DocValuesField "field_value" is too large, must be <= 32766错误
而我在managed-schema或schema.xml中编写的是这个:
例如:<field name='field_value' type="string"/>
为什么会导致无法索引呢?是因为这个值存的可能不是文本,而是例如json,数组,集合之类的数据,所以这个值是无法索引的。所以只能把这个字段设置成不索引同时能够查询到这个数据。
设置如下
<field name='field_value' type="text_general" indexed="false" stored="true"/>
说明:
text_general,标识文本类型
indexed,表示是否索引,false表示不索引,默认为true表示索引
stored,表示是否存储展示,true表示存储这个字段,false表示不存储
三个最好都写上。
重启solr,再执行即可。由于网上资料太杂乱,都是复制粘贴,如果好用,最好收藏保存下。