About Spelling Correction and Did You Mean

Endeca Server supports two complementary forms of Spelling Correction.

The two forms of Spelling Correction are:

The Automatic Spelling Correction feature enables search queries to return expected results when the spelling used in the query terms does not match the spelling used in the result text (that is, when the user misspells search terms). The Did You Mean feature returns suggested versions of a misspelled word, so that the user can re-issue the query with the new spelling.

Both features can be used in a single application, and both are supported by the same underlying spelling engine and Spelling Correction module.

Automatic Spelling Correction operates by computing alternate spellings for user query terms, evaluating the likelihood that these alternate spellings are the best interpretation, and then using the best alternate spell-corrected query forms to return extra search results. For example, a user might search for records containing the text Abrham Lincoln. With spelling correction enabled, the Oracle Endeca Server returns the expected results: those containing the text Abraham Lincoln.

Did You Mean (DYM) functionality allows an application to provide the user with explicit alternative suggestions for a keyword search. For example, assume that a user gets six results when searching for valle in a data set. The terms valley and vale, however, are much more prevalent in that data set. When the DYM feature is enabled, Endeca Server will respond with the six results for valle, but will also suggest that valley or vale may be what the end-user actually intended. If multiple suggestions are returned, they will be sorted and presented according to the closeness of the match.

The behavior of spelling correction features is application-aware, because the spelling dictionary for a given data set is derived directly from the indexed source text, populated with the words found in all searchable values and attributes. Endeca Server returns spelling-corrected results as normal search results, for both value search and record search operations.

For example, in a set of records containing computer equipment, a search for graphi might spell-correct to graphics. In a different data set for sporting equipment, the same search might spell-correct to graphite.

Also keep in mind that the results of spelling corrections and DYM suggestions depend on the language specified for the query, which is set with the Language element of the TextSearchFilter type (for record search) and the ValueSearchConfig type (for value search). For example, using the search term pech in an English language search may result in a spelling correction (such as to peach), while no correction might be done for a French language search (because pêche is a word in French).