Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何在solr中的多值字段中添加不同的值_Search_Solr_Lucene_Multivalue_Distinct Values - Fatal编程技术网

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

Search 如何在solr中的多值字段中添加不同的值,search,solr,lucene,multivalue,distinct-values,Search,Solr,Lucene,Multivalue,Distinct Values,我有一个名为category的多值字段(也是一个存储字段),我只需要在其中添加不同的值 value1 value2 如果我按如下方式进行更新 E02 value2 我将值2存储两次 value1 value2 value2 我只需要在类别字段中存储/更新disctinct值,这是一个多值字段。如何解决这个问题 提前感谢,, Jagadesh.可以使用“设置”而不是“添加”,在部分文档更新中重新创建存储字段。因此,如果您拥有所有字段值,只需将它们粘贴在集合中,然后重新填充字段。由于存储字段

我有一个名为category的多值字段(也是一个存储字段),我只需要在其中添加不同的值

value1

value2

如果我按如下方式进行更新


E02

value2



我将值2存储两次
value1

value2

value2

我只需要在类别字段中存储/更新disctinct值,这是一个多值字段。如何解决这个问题

提前感谢,,
Jagadesh.

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

Solr 7.3增加了此功能

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

请参阅(SOLR-11267)和中的文档:

添加不同的

仅在以下情况下,将指定值添加到多值字段 还没有。可以指定为单个值或列表


如果我尝试此操作,yes
value2
将保存一次,但旧值
value1
将丢失。如果需要澄清,则需要设置所有previous+您的值。如果该字段不是存储字段怎么办?部分更新仅应用于Solr>=4.0,存储字段是一项硬要求。这里没有什么神奇之处,Solr需要它来重建(删除并重新索引)底层Lucene文档,同时增加版本号。在旧版本中,您必须手动执行此操作。阅读更多