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"/>;重启服务器;重启生成索引;

修改后

看!已经没有保存了....

上一篇下一篇

猜你喜欢

热点阅读