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!] >> >>