9

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

我将 value2 存储了两次
<field name="category">value1</field>
<field name="category">value2</field>
<field name="category">value2</field>

我只需要在作为多值字段的类别字段中存储/更新不同的值。如何做这个solr?

在此先感谢,贾加德什。

4

2 回答 2

6

Solr 7.3 添加了此功能。

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

请参阅Jira 问题(SOLR-11267) 和参考指南中的文档:

加区别

将指定的值添加到 multiValued 字段,仅当不存在时。可以指定为单个值,也可以指定为列表。

于 2018-08-02T13:28:13.470 回答
2

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

于 2013-04-09T12:40:30.770 回答