Hi,

I am trying to migrate to Solr 4 (from 3.6)  for a 
multithreaded/multicollection environment using the Solrj java client. I need 
some clarification of when to use the
Cloud Solr Server vs LBHttpSolrServer. Any help is appreciated.

Which one do I use?  The CloudSolrServer uses the LB server internally so 
should this be the one for both searching and indexing? The documentation says 
the LB server must not be used for indexing. As the CloudSolrServer uses the LB 
server internally, so I guess we should not use it for indexing. Is this 
correct?
So if the ConcurrentUpdateSolrServer is used for indexing, how do I load 
balance that?

Reusing:
Should I create multiple Cloud Solr Servers, one for each collection? Simply 
put, what is the best practice for reusing a server in a 
multithreaded/multicollection scenario and what server do I use for indexing 
and querying? The CloudSolrServer instantiates a new LB server per request. 
Isn't that expensive? 

On Solr 3.6, I used the ConcurrentUpdateSolrServer for indexing and the 
HttpSolrServer for searching. In each case, I had a new server per core and 
reused (I used a MAP with the corename as key and the server as the value). So 
for 5 cores, I had 5 servers identified by the core and re-used. I did this as 
I understood instantiating a new server for every request was expensive

Thanks
Jay

Reply via email to