About Query Expansion Features

Query expansion features are essential to help users entering their queries.

For more information about query expansion features, see Configuring Query Expansion in the Exalead CloudView Configuration Guide.

This page discusses:

Spell check

You can enable your search logic to include spell-check, which suggests alternate words or expressions to replace the original user query. Spell-check suggestions are determined by a score. The score is calculated based on:

  • First, the Damerau-Levenshtein transformation distance from the original word

  • Second, the frequency of terms in your corpus.

The transformation distance is the number of changes (replace a letter, add a letter, transpose a letter, delete a letter) required to transform word A to word B. Each change represents a distance. The greater the transformation distance, the larger the difference between two words.

Synonyms

The Synonym expansion module adds alternative forms to user queries. For example, if the text prefix handler uses the synonyms module, the query: “db architect” expands to "db architect" OR "data base architect" OR "database architect".

Unlike the other query expansion modules, you must first compile your own synonym dictionary, also known as a resource file, that defines the possible synonyms for a particular expression.

Phonetization

Phonetization is the ability to search for alternative forms that sound like the original query word, for example (soundslike: exaleed).

Search Suggest

The goal of search suggestion is to auto-complete the user’s query by providing relevant suggestions for what the user wants to search. In other words, it shows some of the terms associated with the beginning of the user search query.

Search suggest relies on precomputed dictionaries to offer efficient matching (millisecond-range, thousands of queries per second). It can be based on:

  • Exalead CloudView index content – fetching the values of an index field or a category facet.

  • Previously-performed queries.

  • Custom dictionaries provided by the administrator.

Suggest dictionaries are recomputed periodically.

A suggest dictionary contains suggest entries. These entries are the suggestions to be made to the user. Each entry has a given score. The number of possible matches for a given input string is a fixed parameter when building a suggest. For each input string, only the N best matches can be returned.