>From memory, if you use UniqFieldsUpdateProcessor after
DistributedUpdateProcessor, then you will be filtering on the set ["1",
"2", "3", "2"].

*<updateRequestProcessorChain name="uniq-fields">*

                   *<processor
class="solr.DistributedUpdateProcessorFactory"/> *

*                   <processor
class="solr.UniqFieldsUpdateProcessorFactory">*

*                                <str name="fieldRegex"> myMultValueField
</str>*

*                  </processor>*

                  *<processor class="solr.RunUpdateProcessorFactory" />*

*</updateRequestProcessorChain>*

On 4 November 2014 01:37, Jack Krupansky <j...@basetechnology.com> wrote:

> The update processors are only processing the values in the "source" data,
> not the data that has already been indexed and stored.
>
> We probably need to file a Jira to add an "insert" field value option that
> merges in the new field value, skipping it if it already exists or
> appending it to the end of the existing list of field values for a
> multivalued field.
>
> You could try... a combination of both "remove" and "add", assuming that
> Solr applies them in the order specified, to remove any existing value and
> then add it to the end.
>
> See:
> https://cwiki.apache.org/confluence/display/solr/
> Updating+Parts+of+Documents
>
> -- Jack Krupansky
>
> -----Original Message----- From: Tomer Levi
> Sent: Monday, November 3, 2014 4:19 AM
> To: solr-user@lucene.apache.org ; Ahmet Arslan
> Subject: RE: Ignoring Duplicates in Multivalue Field
>
>
> Hi Ahmet,
> When I add the RunUpdateProcessorFactory Solr didn't remove any
> duplications.
> Any other idea?
>
>
> -----Original Message-----
> From: Ahmet Arslan [mailto:iori...@yahoo.com.INVALID]
> Sent: Monday, November 03, 2014 1:35 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Ignoring Duplicates in Multivalue Field
>
> Hi Tomer,
>
> What happens when you add   <processor class="solr.RunUpdateProcessorFactory"
> /> to your chain?
>
> Ahmet
>
>
>
> On Sunday, November 2, 2014 1:22 PM, Tomer Levi <tomer.l...@nice.com>
> wrote:
>
>
>
> Hi,
> I’m trying to make my “update” request handler ignore multivalue
> duplications in updates.
> To make my use case clear, let’s assume my index already contains a
> document like:
> {
>   id:”100”,
> “myMultValueField”: [“1”,”2”,”3”]
> }
>
> Later I would like to send an update like:
> {
>   id:”100”,”
>   myMultValueField” {“add”:”2”}
> }
>
> How can I make the update request handler understand that “2” already
> exist and ignore it?
> I tried to add update chain below but it didn’t work for me.
>
> <updateRequestProcessorChain name="uniq-fields">
>                   <processor class="solr.UniqFieldsUpdateProcessorFacto
> ry">
>                                <str name="fieldRegex"> myMultValueField
> </str>
>                  </processor>
>   </updateRequestProcessorChain>
>
> And add it to my requestHandler:
> <requestHandler name="/update" class="solr.UpdateRequestHandler">
>           <lst name="defaults">
>             <str name="update.chain">uniq-fields</str>
>           </lst>
>    </requestHandler>
>
> Tomer Levi
> Software Engineer
> Big Data Group
> Product & Technology Unit
> (T) +972 (9) 775-2693
>
> tomer.l...@nice.com
> www.nice.com
>

Reply via email to