solr stored="false" 对i
2017-03-10 本文已影响834人
小乖心塞
问题,field中
stored="false"
,在查询的时候还是存储起来,没有生效。
<field name="_version_" type="long" indexed="false" stored="false"/>
<field name="content" type="text_ik" indexed="true" stored="false"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="money" type="int" indexed="true" stored="false"/>
<field name="name" type="string" indexed="true" stored="false"/>
未生效
原因是新版的solr,将默认的字段docValues="true"
<fieldType name="int" class="solr.TrieIntField" positionIncrementGap="0" docValues="true" precisionStep="0"/>
**依赖关系: IndexSchema <=======> SchemaField<=======> FieldType **
docValues: 如果这个字段应该有文档值(doc values),设置为true。文档值在门
面搜索,分组,排序和函数查询中会非常有用。虽然不是必须的,而且会导致生成
索引变大变慢,但这样设置会使索引加载更快,更加NRT友好,更高的内存使用效率。
然而也有一些使用限制:目前仅支持StrField, UUIDField和所有 Trie*Fields,
并且依赖字段类型, 可能要求字段为单值(single-valued)的,必须的或者有默认值。
修改 <field name="money" type="int" indexed="true" stored="false" docValues="false"/>
;重启服务器;重启生成索引;
看!已经没有保存了....