You cannot just make configuration changes, whether you use implicit
or compositeId is defined when you _create_ the collection and cannot
be changed later.

You need to create a new collection and specify router.name=implicit
when you create it. Then you can route documents as you desire.

I would caution against this though. If you use implicit routing _you_
have to insure balancing. For instance, you could have 10,000,000
documents for "Org1" and 15 for "Org2", resulting in hugely unbalanced
shards.

Implicit routing is particularly useful for time-series indexing,
where you, say, index a day's worth of documents to each shard. It may
be appropriate in your case, but so far you haven't told us _why_ you
think routing docs to particular shards is desirable.

Best,
Erick

On Thu, Nov 9, 2017 at 10:27 PM, Ketan Thanki <ktha...@asite.com> wrote:
> Thanks Amrit,
>
> For suggesting me the approach.
>
> I have got some understanding regarding to it and i need to implement 
> implicit routing for specific shard based. I have try by make changes on 
> core.properties. but it can't work So can you please let me for the 
> configuration changes needed. Is it need to create extra field for document 
> to rout?
>
> I have below configuration Collection created manually:
> 1: Workset with 4 shard and 4 replica
> 2: Model with 4 shard and 4 replica
>
>
> For e.g Core.properties for 1 shard :
> Workset Colection:
> name=workset
> shard=shard1
> collection=workset
>
> Model Collection:
> name=model
> shard=shard1
> collection=model
>
>
> So can u please let me the changes needed in configuration for the implicit 
> routing.
>
> Please do needful.
>
> Regards,
>
>
> -----Original Message-----
> From: Amrit Sarkar [mailto:sarkaramr...@gmail.com]
> Sent: Wednesday, November 08, 2017 12:36 PM
> To: solr-user@lucene.apache.org
> Subject: Re: How to routing document for send to particular shard range
>
> Ketan,
>
> If you know defined indexing architecture; isn't it better to use "implicit" 
> router by writing logic on your own end.
>
> If the document is of "Org1", send the document with extra param*
> "_route_:shard1"* and likewise.
>
> Snippet from official doc:
> https://lucene.apache.org/solr/guide/6_6/shards-and-indexing-data-in-solrcloud.html#ShardsandIndexingDatainSolrCloud-DocumentRouting
> :
>
> If you created the collection and defined the "implicit" router at the time
>> of creation, you can additionally define a router.field parameter to
>> use a field from each document to identify a shard where the document
>> belongs. If the field specified is missing in the document, however,
>> the document will be rejected. You could also use the _route_
>> parameter to name a specific shard.
>
>
>
> Amrit Sarkar
> Search Engineer
> Lucidworks, Inc.
> 415-589-9269
> www.lucidworks.com
> Twitter http://twitter.com/lucidworks
> LinkedIn: https://www.linkedin.com/in/sarkaramrit2
> Medium: https://medium.com/@sarkaramrit2
>
> On Wed, Nov 8, 2017 at 11:15 AM, Ketan Thanki <ktha...@asite.com> wrote:
>
>> Hi,
>>
>> I have requirement now quite different as I need to set routing key
>> hash for document which confirm it to send to particular shard as its range.
>>
>> I have solrcloud configuration with 4 shard  & 4 replica with below
>> shard range.
>> shard1: 80000000-bfffffff
>> shard2: c0000000-ffffffff
>> shard3: 0-3fffffff
>> shard4: 40000000-7fffffff
>>
>> e.g: below show the project  works in organization which is my routing key.
>> Org1= works for project1,project2
>> Org2=works for project3
>> Org3=works for project4
>> Org4=project5
>>
>> So as mentions above I want to index org1 to shard1,org2 to
>> shard2,org3 to
>> shard3,org4 to shard4 meanwhile send it to particular shard.
>> How could I manage compositeId routing to do this.
>>
>> Regards,
>> Ketan.
>> Please cast a vote for Asite in the 2017 Construction Computing Awards:
>> Click here to Vote<http://caddealer.com/concompawards/index.php?page=
>> cca2017vote>
>>
>> [CC Award Winners!]
>>
>>

Reply via email to