You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Mike Austin <mi...@juggle.com> on 2012/03/16 16:42:06 UTC

Maybe switching to Solr Cores

I'm trying to understand the difference between multiple Tomcat indexes
using context fragments versus using one application with multiple cores?
Since I'm currently using tomcat context fragments to run 7 different
indexes, could I get help understanding more why I would want to use solr
cores instead? or if I would?

>From reading the documentation here are the main points that I see..

- manage them as a single application
- create new indexes on the fly by spinning up new SolrCores
- even make one SolrCore replace another SolrCore without ever restarting
your Servlet Container.

It seems that the biggest real-world advantage is the ability to control
core creation and replacement with no downtime.  The negative would be the
isolation however the are still somewhat isolated.  What other benefits and
common real-world situations would you use to talk me into switching to
Solr cores?

I'm guessing the replication works the same..

Thanks,
Mike

Re: Maybe switching to Solr Cores

Posted by Michael Kuhlmann <ku...@solarier.de>.
Am 16.03.2012 16:42, schrieb Mike Austin:
> It seems that the biggest real-world advantage is the ability to control
> core creation and replacement with no downtime.  The negative would be the
> isolation however the are still somewhat isolated.  What other benefits and
> common real-world situations would you use to talk me into switching to
> Solr cores?

Different Solr cores already are quite isolated: They use different 
configs, different caches, different readers, different handlers...

In fact, there is not much more common between Solr cores except the 
solr.xml configuration.

One additional advantage is that cores need less footprint in Tomcat 
than fully deployed Solr web applications.

I don't see a single drawback of multiples cores in contrast to multiple 
web apps....

...except one, but that has nothing to do with Solr, only with the JVM 
itself: If you have large hardware environment with lots of RAM, than it 
might be better to have multiple Tomcat instances running in different 
OS processes. The reason is Java's garbage collector that works better 
with not-so-huge memory.

Sometimes it might be even better to have two or four replicated Solr 
instances in different Tomcat processes than just one. You'll avoid 
longer stop-the-world pauses with Java's GC as well.

However, this depends on the environment and needs to be avaluated as 
well...

-Kuli