On 1/9/2012 5:15 PM, Hector Castro wrote:
Hi,

Has anyone had success with multicore single node Solr configurations that have 
one core acting solely as a dispatcher for the other cores?  For example, say 
you had 4 populated Solr cores – configure a 5th to be the definitive endpoint 
with `shards` containing cores 1-4.

Is there any advantage to this setup over simply having requests distributed 
randomly across the 4 populated cores (all with `shards` equal to cores 1-4)?  
Is it even worth distributing requests across the cores over always hitting the 
same one?

I've got a setup where a single index chain consists of seven cores across two servers. Those seven cores do not have the shards parameter in them. I have what you call a dispatcher core (I call it a broker core) that contains the shards parameter, but has no index data.

If you use a dispatcher core, your application does not need to be concerned with the makeup of your index, so you don't need to include a shards parameter with your request. You can change the index distribution and not have to worry about your application configuration. This is the major advantage to doing it this way. Distributed search has some overhead and not all Solr features work with it, so if your application already knows which core will contain the data it is trying to find, it is better to query the right core directly.

Be careful that you aren't adding a shards parameter to a core configuration that points at itself. Solr will, as of the last time I checked, try to complete the recursion and will fail.

Thanks,
Shawn

Reply via email to