Fuzzy Search

Categories

Component ID

157868

Component name

Fuzzy Search

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

26597

Component created

Component changed

Component body

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.

D7 Instructions

Requires: Entity API, Search API

A default server and index are created when the module is installed. Just add a Search Page or a View using the default fuzzy index, run cron to index your site, and you're ready to search.

Manual instructions:

  • From the main Search API configuration page, create a server using the Fuzzy Search service class.
  • Create an Index using the server you just created.
    • Click the Workflow Tab.
    • Enable "Complete entity view".
    • Enable the following processors: Both Fuzzy search processors, Ignore case, HTML filter, and Tokenizer.
    • Move the Fuzzy Search excerpt processor to the bottom of the list, and the Fuzzy Search search settings processor just above it.
    • The default settings should be fine.
  • You will need the Search API Pages module or Views to provide a place to search your site.
  • 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.
  • For Views, make a new view using the default fuzzyseach index, add a page display and configure as desired.
  • Run cron to index your content. Visit the path for your search page.

These settings should get the module up and running.

The Drupal 5 version is no longer supported.