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:
- Webmail: http://drupal.org/project/webmail_plus
- Attachments: http://drupal.org/project/apachesolr_attachments
- Views: http://drupal.org/project/apachesolr_views
- Services: http://drupal.org/project/solr_service
- Nodequeue: http://drupal.org/project/nodequeue
- RDF: http://drupal.org/project/apachesolr_rdf
- Project: http://drupal.org/project/project
- Ubercart: http://drupal.org/project/apachesolr_ubercart
- Apache Solr JavaScript UI: http://drupal.org/project/solrjs
- Apache Solr Autocomplete: http://drupal.org/project/apachesolr_autocomplete
- Apache Solr Statistics: http://drupal.org/project/apachesolr_stats
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.
Related Content
AcquiaBlog

2010 has been an inflection point for the Acquia partner program. We are doing more business than ever with partners, including case studies with Palantir.net, Blink Reaction, and IBM Global Services.
Bryan House
It is that phase of my life! I'm just turning 30 in a month, working with Drupal for 7 years and just had my third Acquia anniversary a week ago. Time to look back and evaluate how things went, all the good and bad things; even better if the wisdom can be shared with others. This was part of my thinking when I submitted the session titled "Come for the software, stay for the community" for Drupalcon Copenhagen.
Gábor Hojtsy
It sounded like a really simple request: "Is it easy to add a search filter for 'My posts'?". In other words, add a search result facet for posts by the current (logged in) user through the Apache Solr Search Integration module APIs?
But then the wheels start turning - we want not just one blind link, but a real facet link that tells us how many results we'll get. Also, if we are filtering by 'My posts' then we probably have an equal use case for the opposite filter 'Posts not by me'. So we really need a facet block with two links and facets counts.
Peter Wolanin






