I'm also confused by what exactly you mean by "doesn't work" but a general 
suggestion you can try is putting the 
RemoveBlankFieldUpdateProcessorFactory before your UUID Processor...

https://lucene.apache.org/solr/6_0_0/solr-core/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.html

If you are also worried about strings that aren't exactly empty, but 
consist only of whitespace, you can put TrimFieldUpdateProcessorFactory 
before RemoveBlankFieldUpdateProcessorFactory ...

https://lucene.apache.org/solr/6_0_0/solr-core/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.html


: Date: Thu, 14 Apr 2016 12:30:24 -0700
: From: Erick Erickson <erickerick...@gmail.com>
: Reply-To: solr-user@lucene.apache.org
: To: solr-user <solr-user@lucene.apache.org>
: Subject: Re: UUID processor handling of empty string
: 
: What do you mean "doesn't work"? An empty string is
: different than not being present. Thee UUID update
: processor (I'm pretty sure) only adds a field if it
: is _absent_. Specifying it as an empty string
: fails that test so no value is added.
: 
: At that point, if this uuid field is also the <unkqueKey>,
: then each doc that comes in with an empty field will replace
: the others.
: 
: If it's _not_ the <unkqueKey>, the sorting will be confusing.
: All the empty string fields are equal, so the tiebreaker is
: the internal Lucene doc ID, which may change as merges
: happen. You can specify secondary sort fields to make the
: sort predictable (the <unkqueKey> field is popular for this).
: 
: Best,
: Erick
: 
: On Thu, Apr 14, 2016 at 12:18 PM, Susmit Shukla <shukla.sus...@gmail.com> 
wrote:
: > Hi,
: >
: > I have configured solr schema to generate unique id for a collection using
: > UUIDUpdateProcessorFactory
: >
: > I am seeing a peculiar behavior - if the unique 'id' field is explicitly
: > set as empty string in the SolrInputDocument, the document gets indexed
: > with UUID update processor generating the id.
: > However, sorting does not work if uuid was generated in this way. Also
: > cursor functionality that depends on unique id sort also does not work.
: > I guess the correct behavior would be to fail the indexing if user provides
: > an empty string for a uuid field.
: >
: > The issues do not happen if I omit the id field from the SolrInputDocument .
: >
: > SolrInputDocument
: >
: > solrDoc.addField("id", "");
: >
: > ...
: >
: > I am using schema similar to below-
: >
: > <!--schema.xml-->
: >
: > <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
: >
: > <field name="id" type="uuid" indexed="true" stored="true" required="true" />
: >
: > <uniqueKey>id</uniqueKey>
: >
: > <!--solrconfig.xml-->
: > <updateRequestProcessorChain name="uuid">
: >     <processor class="solr.UUIDUpdateProcessorFactory">
: >       <str name="fieldName">id</str>
: >     </processor>
: >     <processor class="solr.RunUpdateProcessorFactory" />
: > </updateRequestProcessorChain>
: >
: >
: >  <requestHandler name="/update" class="solr.UpdateRequestHandler">
: >        <lst name="defaults">
: >          <str name="update.chain">uuid</str>
: >        </lst>
: > </requestHandler>
: >
: >
: > Thanks,
: > Susmit
: 

-Hoss
http://www.lucidworks.com/

Reply via email to