I am seeing the UUID getting generated when I set the field as empty string
like this - solrDoc.addField("id", ""); with solr 5.3.1 and based on the
above schema.
The resulting documents in the index are searchable but not sortable.
Someone could verify if this bug exists and file a jira.

Thanks,
Susmit



On Sat, Apr 16, 2016 at 8:56 AM, Jack Krupansky <jack.krupan...@gmail.com>
wrote:

> "UUID processor factory is generating uuid even if it is empty."
>
> The processor will generate the UUID only if the id field is not specified
> in the input document. Empty value and value not present are not the same
> thing.
>
> So, please clarify your specific situation.
>
>
> -- Jack Krupansky
>
> On Thu, Apr 14, 2016 at 7:20 PM, Susmit Shukla <shukla.sus...@gmail.com>
> wrote:
>
> > Hi Chris/Erick,
> >
> > Does not work in the sense the order of documents does not change on
> > changing sort from asc to desc.
> > This could be just a trivial bug where UUID processor factory is
> generating
> > uuid even if it is empty.
> > This is on solr 5.3.0
> >
> > Thanks,
> > Susmit
> >
> >
> >
> >
> >
> > On Thu, Apr 14, 2016 at 2:30 PM, Chris Hostetter <
> hossman_luc...@fucit.org
> > >
> > wrote:
> >
> > >
> > > 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