Searching for the ideal search solution

Over recent years we’ve used either native Drupal search or SOLR in our web projects. Neither has been ideal. Recently though we’ve been deploying Google Site Search and we like it a lot.

Drupal’s native search is fine if all your content is in Drupal and you don’t want to offer filtered search results constrained to specific sections of a site or certain content types. When all you need is basic search, native Drupal just works.

For more complex scenarios, for example where some of the content on a site is being pulled from sources outside Drupal or we need to include sub-domains in the search scope, we’ve used SOLR. SOLR is powerful technology, but it takes time to configure. Also, additional tools such as Nutch are needed to index external content.

We’d looked at Google Custom Search Engine (CSE) before and rejected it because of its styling limitations. But Google Site Search (GSS), the paid-for version of CSE provides an XML API that enables us to style as we want.

At a starting price of £100 for up to 20,000 queries in a year GSS is affordable. It’s easy to specify the search scope and it’s easy to set up the “refinements” needed to provide filtered or constrained results. GSS supports the specification of synonyms, auto-completion and promoted results. The GSS API also allows automatically generated suggestions to be shown for misspelt terms.

BLF search screenshot
A search for “smooking” on the British Lung Foundation website has no results but the user is offered results for “smoking”.
HESA search screenshot
Clicking on the Data Collection tab on the results page for a search on “ethnicity” constrains results to the Data Collection section of HESA’s website.

Headscape