It is necessary to co-locate replicas of different collection together in a node when cross-collection joins are performed.
while creating a collection specify the parameter withCollection=other-collection-name . This ensure that Solr always ensure that atleast one replica of other-collection is present with this collection replicas
This requires changing create collection, create shard and add replica APIs as well because we want a replica of collection A to be created first before a replica of collection B is created so that join queries etc are always possible.
Some caveats to this implementation:
- The other-collection should only have a single shard named "shard1"
- Any replica of other-collection created by this feature will be of NRT type
Removing the above caveats can be a goal of other issues.