Sample search results

This module provides drupal sites with a fuzzy search engine to allow for broader keyword matches including partial or misspelled keywords.

Fuzzy matching is implemented by using ngrams. Each word in a node is split into 3 (default) letter lengths, so 'apple' gets indexed with 3 smaller strings 'app', 'ppl', 'ple'. The effect of this is that as long as your search matches X percentage (administerable in the admin settings) of the word the node will be pulled up in the results.

Features:

  • Mispellings and typos still provide relevant results.
  • External scoring factor hooks exposed so contrib modules can give administrators options for scoring.
  • Reindex function available to allow modules to specifically call a certain node for reindexing at next cron run.
  • Indexing of CCK textfield field types and taxonomy terms.
  • Implements hook_nodeapi's 'update index' op, so current modules integrating with core search will work the same.
  • Works independently of core search.
  • Block provides related content type results from url query.
  • Ngram length is configurable.
  • Content types may be exclude from results.
  • Fuzzy highlighting of misspelled search terms.

Requirements

Installation

Install this module and all its dependencies as you would with any other
Drupal 7 module. See https://www.drupal.org/docs/7/extend/installing-modules
for further information.

Configuration

A default server and index are created when the module is installed. Run cron to index your content, and add a Search Page or a View using the default fuzzy index.

To setup a search page using the Search API Pages module,

  • go to the main Search API page,
  • click Search Pages, add a search page, and configure with the index you created above, multiple terms for query type, and view mode as themed as search results.

To setup a search for Views,

  • create a new view using the default fuzzyseach index,
  • add a page display and configure as desired.

For more information, please refer to the module's README file.

Credits

This module has been created by Blake Lucchesi and was a long time maintained and extended by Aaron Wolfe.

Please note: The Drupal 5 and Drupal 6 versions are no longer supported.
Supporting organizations: 
sponsors the current maintenance and further development.

Project information

Releases