如何在solr中的多值字段中添加不同的值

时间:2013-04-09 12:30:20

标签: search solr lucene multivalue distinct-values

我有一个名为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。

2 个答案:

答案 0 :(得分:2)

此功能已为Solr 7.3添加。

您可以使用 add-distinct 原子更新操作,而不是 add

请参见Jira issue(SOLR-11267)和Reference Guide中的文档:

  

添加区别

     

仅在以下情况下将指定的值添加到multiValued字段中   还不存在。可以指定为单个值或列表。

答案 1 :(得分:1)

可以“设置”而不是“添加”,以在部分文档更新中重新创建存储的字段。因此,如果您拥有所有字段值,只需将它们粘贴在Set中,然后重新填充字段即可。由于stored field的要求,您可以重新创建所有数据。