Hi Erik,

My requirement to index the documents of particular organization to specific 
shard. Also I have made changes in core.properties as menions below.

Model Collection:
name=model
shard=shard1
collection=model
router.name=implicit
router.field=core
shards=shard1,shard2

Workset Collection:
name=workset
shard=shard1
collection=workset
router.name=implicit
router.field=core
shards=shard1,shard2

here I have also created new field 'core' which value is any shard where I need 
to send documents and on retrieval use '_route_'  parameter with mentioning the 
particular shard. But issue facing still my clusterstate.json showing the 
"router":{"name":"compositeId"} is it means my settings not impacted? or its 
default.

Please do needful.

Regards,

-----Original Message-----
From: Erick Erickson [mailto:erickerick...@gmail.com] 
Sent: Friday, November 10, 2017 12:06 PM
To: solr-user
Subject: Re: How to routing document for send to particular shard range

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-s
> olrcloud.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