Solr termFrequency在nonStoredField中进行增量更新后重置

时间:2017-08-22 11:40:00

标签: solr lucene

Solr版本使用:6.6.0

我已将SOLR 字符串字段与doc-Values一起用作 true ,这允许对非存储字段进行增量更新,但在重新设置时会重置术语频率值已被添加。

它允许通过提供添加参数进行增量更新,但它不能正确保持术语频率。

它会重置“未提供值的频率”这一术语,并且不会修改预先提供的值的 tf

例如:

我已将术语向量添加到字符串字段,以便可以查询 tf

termVectors="true" 

我的字段的架构:

 <field name="name" type="string" docValues="true"  multiValued="true" indexed="true" stored="false" />

考虑这个例子:

id: hex
name:{a,a,a,b,b,c}

现在如果我跑

 COLLECTION_NAME/tvrh?q=id:hex&tv.tf=true&tv.fl=name&fl=name&rows=1&wt=json

termfrequency

a-> 3, b-> 2, c->1

现在如果我添加

name:{b,c,d}

预期答案应该看起来像

a->3, b->3, c->2, d->1

但我的结果是

a->1, b->2, c->2, d->1

已为 a 重置了值(未提供) b,c 中未进行任何更改(与现有数据不匹配) d 添加为1

这是错误的,不适合我的需要。

非常感谢任何帮助。

感谢。

0 个答案:

没有答案