The Google Search Appliance module integreates a GSA device with a Drupal site. Utilizing a GSA gives you cross-domain search functionality, which can be aggregated into a single search experience on a drupal site.

Drupal 6.x

Deprecation notice: although no support has been provided for the 6.x branch of this module in ages, the Drupal 6 version of this module will become officially unsupported on January 1st, 2016.

This version of the module integrates a GoogleMini / Google Search Appliance with Drupal using hook_search.

Currently it supports the following features:

  • Keyword search
  • Facilitates other GSA search options (e.g. meta-tag constraints)
  • Multiple tabs for specified Front End and Collection combinations
  • Arbitrary Front End and Collection combinations
  • Works with or without the core search.module
  • Caching of results to increase response time and decrease load on GSA
  • i18n support to limit language
  • Date display on search results
  • Type display on search results
  • Author display on search results
  • KeyMatches (recommended links)
  • Synonyms (alternate search terms)
  • MIME type display
  • Meta-tags (setting, and theming)
  • Attributes (theming)
  • Standard Drupal pager
  • Standard or custom search-result(s) theme templates
  • Display cached HTML version

When the first official version is released it will contain:

  • Advanced search screen
  • Date sorting
  • Indexing helper


  1. Enable the module
  2. Go to the settings page and configure your collection name, ip address of your GSA/mini and caching (if needed)
  3. Optionally, enable the recommended links block


Go to search/google-appliance

Search results are themed using theme('search_results').

Copy modules/search/search-results.tpl.php into your theme directory
to over-ride the default template.

You can also create search-results-google-appliance.tpl.php to theme
ONLY the GSA searches, but note that this template will NOT be seen
unless you also copy the default search-results.tpl.php (even if you
do not wish to edit that one). This alternative name is mostly relevant
if you are leaving the core search.module enabled.

The above notes also apply to search-result.tpl.php

See the preprocess functions for the Google-specific variables
available to the templates. You may wish to print the $range at the
top of your search-results template, for instance.


Sam Lerner for much of the development and CivicActions for partially funding the effort.

Drupal 7.x

At the moment the 7.x version amounts to a stripped-down implementation of the 6.x version. We have basic functionality that will at least get your GSA integrated with your drupal 7 site with a single frontend + collection combination that you can easily theme.


  • simple keyword search
  • single frontend + collection combo
  • block search form
  • related searches block
  • Google On/Off support for blocks.
  • Synonyms/Related Queries
  • MIME Type iconing
  • date/relevancy sorting
  • standard drupal pager
  • keymatches
  • indentation suggestion respect
  • query inspector (troubleshooting queries without the Devel module)
  • basic search interface configuration
  • super-easy theming

One caveat to using this module is that we are consuming the XML results directly from the device, so if you are using the GSA's advanced search reporting, you will not get user-click information from drupal search results pages. This might be a good project for the eager contributor to look into, along with bringing the 7.x feature set up to speed with the 6.x feature set.


  1. Ensure you have the PHP cURL library installed
  2. Enable the module
  3. Configure settings
  4. Optionally enable/configure blocks: (a) search form, (b) related searches


If you are using the block search form, search from any page that the block appears on. If you are not using the block search form, go to There you will find a search form and results will be served there.

Note that we do not implement hook_search, thus there is no dependence on core search templates for results theming in this version; provide theme overrides in the normal way implement custom display. Also, there are simpletests in the testing directory for automating testing in your local environment; an additional settings include file is required to automate search testing. See the README for more information.

Integration Guide for 7.x

For a quick rundown on common use cases and best practices for implementing a more complete end-to-end solution by extension of this module, check out the Integrating Google Search Appliance with Drupal howto by Eric Peterson.

Project Information