Apache Solr Excitement at Drupalcon

As of the final Drupalcon Paris code sprint, http://groups.drupal.org was upgraded to Drupal 6, and its site search has also started running on Apache Solr. Since last summer we have used a scrubbed groups.drupal.org database dump which we updated to Drupal 6.x as a test set for Apache Solr Search Integration functionality and screen shots. Having it live on the groups site is great because we've been able to see for months the kind of improved search results that are possible, but frustratingly unable until now to access them in real life.

The groups.drupal.org upgrade was only one of the exciting developments, lively BoFs, or informative presentations around the integration of Apache Solr with Drupal last week. I enjoyed hearing Mike O'Conner's talk about his efforts to integrate Solr search with Ubercart, and several teams discussed their plans to use Apache Solr for existing sites or upcoming projects.

There were two back-to-back BoF sessions on Apache Solr. The first was centered around a discussion of how to better support multi-language sites and their search needs. We discussed the application of different language stemmers either through searching across fields in one index, or possibly by using Solr's distributed search feature to create a separate search index (a shard) for each language and then configure Solr to search across all the separate language indexes and consolidate the search results from each shard.

The second BoF session focused more generally on the Apache Solr Search Integration module's features and APIs. We discussed JavaScript integration, reworking the query object, and the possibility of learning lessons from the Zend framework's PHP Lucene port and search framework in terms of makes a more generic or useful query object. Robert Douglass was enthusiastic and adamant that we would be able to eliminate a lot of custom coding and theming of search forms and search results though Views 3 integration. We also had good discussions with the developers at Evolving Web who are working on bringing a better JavaScript library to Drupal to integrate with Apache Solr.

It's important to note that the Drupal 6.x version of the Apache Solr Search Integration module has both 1.x and 2.x branches. The 1.x version is still labeled RC, but is being used in production and we have committed to keeping the API sable in that branch so that any custom integrations can be developed without fear of having the API break. Thus the 2.x branch will be the focus for any substantial code rewrites as well as potentially for new features. As we get close to the Drupal 7 release date we will evaluate the maturity of these two branches and update one or both for Drupal 7.x.

If you want to get a sense of the excitement around using Apache Solr, browse through some of the add-on modules and modules that integrate with other interesting contributed modules:

If you don't want to run Solr yourself, you can try our hosted version, Acquia Search, free for 30 days. There is also documentation on drupal.org, linked from the Apache Solr Search Integration project page to help you learn how to set up and configure the java server yourself.