Tableau des compatibilités des versions de Tomcat, Apache Solr, and Drupal
[Updated 27 January 2014]
The sysadmins here were doing some software upgrades the other day and asked me which versions of Tomcat and Apache Solr they should install on our shared Drupal hosting servers. The answer is a little complex, so I finally just drew them a diagram.
Note that in Drupal 7 there are two completely unrelated modules which can talk to Apache Solr: Apache Solr Search Integration, which has existed since Drupal 6 and is primarily developed by Acquia, and Search API Solr search, which uses Drupal 7's Search API family of modules. Both offer integration with Facet API and have their advantages and disadvantages, but overall the Search API approach provides more flexibility because it provides a standardized way for module authors to customize the results from several different search backends. With Search API you can also switch search engine backends with relative ease, should you ever choose to do so.
So what versions of these packages should you use? In short, any version of Tomcat is fine. Apache Solr 1.4.x can be used with any of the Drupal modules which provide Solr integration, but only the Drupal 7 modules support Apache Solr 3.x or 4.x, and Search API Solr will drop support for Apache Solr 1.4.x with version 7.x-1.5. Displaying search results using Views is easy in Drupal 7 using Search API but with Apache Solr Search Integration you'll need lots of unsupported, deprecated modules in Drupal 6 and a little-used module in beta in Drupal 7. And don't forget to update your schema.xml and solrconfig.xml files on your Tomcat server when you upgrade your Drupal Solr modules or switch between Solr 1.4.x, Solr 3.x, or Solr 4.x! The good news is that the latest stable versions of the Apache Solr Search Integration and Search API Solr modules for Drupal 7 use exactly the same Solr configuration files, meaning that you can switch between the two relatively easily while testing your site.
The chart doesn't mention indexing attached files using Tika, but when running that program as a stand-alone Java executable on the web server you should be able to use any version you like. I wasn't able to get Tika to run on the Tomcat server side with Tomcat 5.5 or 6 using Solr 1.4, but a co-worker configured it here with Tomcat 7 and Solr 3.x.
Finally, here are the versions of these packages that we use at Koumbit: Currently, we build Drupal 7 sites using Tomcat 7, Solr 3.x, and the latest stable versions of Search API, Search API Solr, Facet API, and Views. (We also have a Tomcat 6 server running Solr 1.4.x for a few legacy Drupal 6 sites.) In general, the Apache Solr Search Integration module doesn't seem to be used much outside Acquia's hosting platform, while Search API (with the MySQL database backend) is used by a large number of sites, including drupal.org. That plus the tight Views integration made it a clear choice for us.