当我将字段设置为 stored=false 并为其赋予默认值时,我遇到了 Solr (4.x) 的一个奇怪问题。为了清楚起见,我的架构类似于:
<field name="field1" type="tint" indexed="true" stored="true" />
<field name="field2" type="tint" indexed="true" stored="true" />
<field name="field3" type="tint" indexed="true" stored="true" />
<field name="field4" type="tint" indexed="true" stored="true" />
<field name="field5" type="tint" indexed="true" stored="false" default="0" />
默认情况下,每个文档的开头都有一个 field5=0。然后我更新文档,并为一些文档设置 field5=1。如果我更新了 field5=1 的文档,它们都会返回到 field5=0。但是当 field5 is stored=true 时,就没有问题了,它们永远不会回到默认值,尽管该字段没有更新......
任何解决方案来克服这个?我当然可以保持字段stored=true,但它会导致索引变大,因此由于开销而减慢搜索速度......