Looking a little deeper, I did find this about UUIDField

http://lucene.apache.org/solr/4_9_0/solr-core/org/apache/solr/schema/UUIDField.html

"NOTE: Configuring a UUIDField instance with a default value of "NEW" is not 
advisable for most users when using SolrCloud (and not possible if the UUID 
value is configured as the unique key field) since the result will be that each 
replica of each document will get a unique UUID value. Using 
UUIDUpdateProcessorFactory<http://lucene.apache.org/solr/4_9_0/solr-core/org/apache/solr/update/processor/UUIDUpdateProcessorFactory.html>
 to generate UUID values when documents are added is recomended instead.”

That might describe the behavior you saw.  And the use of 
UUIDUpdateProcessorFactory to auto generate ID’s seems to be covered well here:

http://solr.pl/en/2013/07/08/automatically-generate-document-identifiers-solr-4-x/

Though I’ve not actually tried that process before.

On Nov 11, 2014, at 7:39 PM, Garth Grimm 
<garthgr...@averyranchconsulting.com<mailto:garthgr...@averyranchconsulting.com>>
 wrote:

“uuid” isn’t an out of the box field type that I’m familiar with.

Generally, I’d stick with the out of the box advice of the schema.xml file, 
which includes things like….

  <!-- Only remove the "id" field if you have a very good reason to. While not 
strictly
    required, it is highly recommended. A <uniqueKey> is present in almost all 
Solr
    installations. See the <uniqueKey> declaration below where <uniqueKey> is 
set to "id".
  -->
  <field name="id" type="string" indexed="true" stored="true" required="true" 
multiValued="false" />

and…

<!-- Field to use to determine and enforce document uniqueness.
     Unless this field is marked with required="false", it will be a required 
field
  -->
<uniqueKey>id</uniqueKey>

If you’re creating some key/value pair with uuid as the key as you feed 
documents in, and you know that the uuid values you’re creating are unique, 
just change the field name and unique key name from ‘id’ to ‘uuid’.  Or change 
the key name you send in from ‘uuid’ to ‘id’.

On Nov 11, 2014, at 7:18 PM, S.L 
<simpleliving...@gmail.com<mailto:simpleliving...@gmail.com>> wrote:

Hi All,

I am seeing interesting behavior on the replicas , I have a single
shard and 6 replicas and on SolrCloud 4.10.1 . I  only have a small
number of documents ~375 that are replicated across the six replicas .

The interesting thing is that the same  document has a different id in
each one of those replicas .

This is causing the fq(id:xyz) type queries to fail, depending on
which replica the query goes to.

I have  specified the id field in the following manner in schema.xml,
is it the right way to specifiy an auto generated id in  SolrCloud ?

      <field name="id" type="uuid" indexed="true" stored="true"
          required="true" multiValued="false" />


Thanks.


Reply via email to