lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luís Portela Afonso <meligalet...@gmail.com>
Subject Re: SOLR Copy field if no value on destination
Date Thu, 08 Aug 2013 00:57:22 GMT
Oh yeah. Hi have seen that Processor on the book and i was not able to remember. Thanks a lot.
And thanks a lot for your solution. It works :)

On Aug 8, 2013, at 1:52 AM, "Jack Krupansky" <jack@basetechnology.com> wrote:

> Here's the actual update processor I used (and tested):
> 
> <updateRequestProcessorChain name="first-default-field">
> <processor class="solr.CloneFieldUpdateProcessorFactory">
>   <str name="source">main_s</str>
>   <str name="dest">final_s</str>
> </processor>
> <processor class="solr.CloneFieldUpdateProcessorFactory">
>   <str name="source">backup_s</str>
>   <str name="dest">final_s</str>
> </processor>
> <processor class="solr.FirstFieldValueUpdateProcessorFactory">
>   <str name="fieldName">final_s</str>
> </processor>
> <processor class="solr.LogUpdateProcessorFactory" />
> <processor class="solr.RunUpdateProcessorFactory" />
> </updateRequestProcessorChain>
> 
> -- Jack Krupansky
> 
> -----Original Message----- From: Jack Krupansky
> Sent: Wednesday, August 07, 2013 8:20 PM
> To: solr-user@lucene.apache.org
> Subject: Re: SOLR Copy field if no value on destination
> 
> Sorry, I am unable to untangle the logic you are expressing, but I can can assure you
that  JavaScript and the StatelessScriptUpdate processor has full support for implementing
spaghetti code logic as tangled as desired!
> 
> Simpler forms of logic can be implemented directly using non-script update processor
sequences, but once you start adding conditionals, there is a 50% chance that you will need
a script.
> 
> There is a Default Value update processor, but it takes a literal value.
> 
> Hmmm... maybe I’ll come up with a “default-value” script that takes a field name
for the default value. IOW, it would copy a specified field to the destination IFF the destination
had no value.
> 
> Ahhh... wait... maybe... you could do this with the First Value Update processor:
> 
> 1. Copy guid to FinalLink. (Clone Update processor).
> 2. Copy link to FinalLink. (Clone Update processor).
> 3. First Value Update processor.
> 
> So, step 3 would leave link if guid was not there, or keep guid if it is there and discard
link.
> 
> Yes, that should do it.
> 
> This is worth an example in the book! Thanks for the inspiration!
> 
> -- Jack Krupansky
> 
> From: Luís Portela Afonso
> Sent: Wednesday, August 07, 2013 7:22 PM
> To: solr-user@lucene.apache.org
> Subject: SOLR Copy field if no value on destination
> 
> Hi,
> 
> Is possible to copy a value of a field to another if the destination doesn't have value?
> An example:
> a.. Indexing an rss
> b.. The feed has the fields link and guid, but sometimes guid cannot be present in the
feed
> c.. I have a field that i will copy values with the name finalLink
> 
> Now i want to copy guid to finalLink, but if guid has not value i want to copy link.
> 
> My question is, is that possible just with the schema, Processors, solrconfig.xml, and
the data-config?
> 
> Thanks a lot 


Mime
View raw message