Friday, 03 July 2009

Thursday afternoon (05/03/2009), the second day of DrupalCon DC, was the time for a lightning panel on Drupal search!
If you ever felt that Drupal's core search wasn't suitable for your site: you are not alone. Each presenter at this talk once had the same experience, and decided to develop an alternative for Drupal's core search. They each answered a couple of basic questions about their module.
1) ApacheSolr, presented by Jacob Singh
- Integrates Drupal with the Apache Solr platform. Solr itself uses the Apache Lucene search engine, one of the best open source search solutions. Additionally, Solr adds features to Lucene.
- Can do 'distributed search' (it runs over http), so you can run your search functionality on a different server.
- It's slower for indexing then other solutions.
- Setup is pretty hard if you don't know (Java) server administration.
- Good documentation available.
- Module comes with Solr configuration files that work for Drupal, so configuration is easy.
- The module exposes a few hooks, so you can eg. change the query you send to Lucene.
- Module is in very active development.
2) Search Lucene API, presented by Chris Pliakis
- Integrates the Zend Framework's Zend_Search_Lucene component to provide a native PHP implementation of the Apache Lucene search engine.
- Can do 'proximity searches', this allows site admins to define what results come up eg. in a sidebar, in order to boost results.
- Setup is really easy: download, install, index.
- Doesn't provide a full feature set (unlike Solr).
- Requires (stripped down version of) Zend framework.
- Built as an API: you can hook into any part of the search process.
- Not very active yet, just came out.
3) Xapian, presented by Simon Lindsay
- Integrates the Xapian search engine, open source, written in C++.
- Can be run as a distributed search engine, ie. you can run your search functionality on multiple servers.
- Provides speed for indexing and searching. It was used on http://drupal.org for a while when the site was having performance problems.
- Great for big D5 sites (no D6 release yet).
- Not as many features as the Apache Solr module.
- D5 version requires core patch, and you need to set up a C++ library.
- Working on D6 version. Once that comes out, no more core patch will be required.
4) Sphinx, presented by Johannes Wehner
- Integrates Sphinx, an open source SQL full-text search daemon.
- Very, very, very fast (search and indexing). Fastest of all mentioned solutions. Suitable for large sites with a large amount of content (eg. newspaper sites).
- Hard to setup & configure (eg: you have to write your own SQL to make it work).
- Lots of features: sorting, facets, stemming, ...
- Not very active, developers wanted.








Post new comment