The SolrInstall wiki page lists seven different server / Servlet Containers compatible with Solr:
I'm sure that "best" is subjective, so I'll just say my criteria are: easiest to set up, best for search performance with a smallish, infrequently-updated dataset, and with the fewest number of gotchas.
Jetty and Tomcat both have apt-get solr packages, so they're clearly the frontrunners for some. Jetty is used in the demo install, but there's some notes that Jetty has some difficulties handling Unicode in some cases. Tomcat is a common choice but my understanding is that it's not as lightweight and has a lot of features not needed by Solr.
Is it worth considering any of the others? Are there some important pro's and cons I should be aware of?
In Solr versions less then 4, the version of Jetty was patched to deal with the unicode issue, in fact the Solr dev team found the bug. In Jetty 7 and 8 the patch was applied. Solr 4 now uses Jetty 8.
As far as Jetty versus Tomcat, I've always found it a matter of preference, I haven't seen anyone show a real performance difference between the two!
The latter 4 can be excluded automatically - they are full-blown application servers which is not required by Solr. If Jetty has problems with unicode, then it's out too. You leave with Tomcat and Resin. Both being full-featured servlet containers, I'd go for the more widely-used - Tomcat. It is lightweight enough.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With