我有一个名为category(也是商店字段)的多值字段,其中我只需要添加不同的值
<field name="category">value1</field>
<field name="category">value2</field>
如果我按如下方式进行更新,
<add>
<doc>
<field name="id">E02</field>
<field name="category" update="add">value2</field>
</doc>
</add>
我得到两次存储的值2
<field name="category">value1</field>
<field name="category">value2</field>
<field name="category">value2</field>
我只需要在类别字段中存储/更新多个值,这是一个多值字段。怎么做这个solr?
提前致谢, Jagadesh。
答案 0 :(得分:2)
此功能已为Solr 7.3添加。
您可以使用 add-distinct 原子更新操作,而不是 add
请参见Jira issue(SOLR-11267)和Reference Guide中的文档:
添加区别
仅在以下情况下将指定的值添加到multiValued字段中 还不存在。可以指定为单个值或列表。
答案 1 :(得分:1)
可以“设置”而不是“添加”,以在部分文档更新中重新创建存储的字段。因此,如果您拥有所有字段值,只需将它们粘贴在Set
中,然后重新填充字段即可。由于stored field
的要求,您可以重新创建所有数据。