Hi Shani,

There isn't a SolrCloud way to do it. A proper 'clone this collection'
feature would be a very useful thing.

However, I have managed to do it, in a way that involves some caveats:
 * you should only do this on a collection that has no replicas. Add
 replicas *after* cloning the index
 * if you must do it on a sharded index, then you will need to do it
 once for each shard. No guarantees though

All SolrCloud nodes are all already enabled as 'replication masters' so
that new replicas can pull a full index from the current leader. We're
gonna use this feature to pull our index (assuming single shard):

http://<your-new-node>:8983/solr/<new-collection>_shard1_replica1/replication?command=fetchindex&masterUrl=http://<your-old-node>:8983/solr/<old-collection>_shard1_replica1/replication

This basically says to the core behind your new collection: "Go to the
core behind the old collection, and pull its entire index".

This worked for me. I added a replica afterwards, and the index cloned
correctly. However, when I did it against a collection that had a
replica already, the replica *didn't* notice, meaning the leader/replica
were now out of sync, i.e: Really make sure you do this replication
before you add replicas to your new collection.

Hope this helps.

Upayavira

On Mon, Oct 26, 2015, at 11:21 AM, Chaushu, Shani wrote:
> Hi,
> Is there an API to copy all the documents from one collection to another
> collection in the same solr server simply?
> I'm using solr cloud 4.10
> Thanks,
> Shani
> 
> ---------------------------------------------------------------------
> Intel Electronics Ltd.
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.

Reply via email to