Synonyms Files

Synonyms are words that mean the same thing, within the context where they are used. Used for search, synonym expansion allows Fusion to return results which match the meaning of the query terms, but not the words themselves. They are important for mapping query terms such as acronyms to their names, jargon to public terms, misspellings to correct spellings, old to new personal or corporate names, and otherwise bridging the gap between the user vocabulary and terms in the original text.

Fusion uses the Solr synonyms.txt and Solr collections which are managed by Fusion. Solr itself manages a set of resources to apply synonym expansion, with configuration via the Fusion API and the Fusion UI. However, Fusion synonyms are not interchangeable with Solr synonyms files.

Synonym Types

There are three kinds of search synonyms, depending on the requirements of the search for each specific term.

Replacement Synonyms

Replacements are used to change the query, to replace it with a more standard term or terms. For example:

lucid => lucidworks

In this case, "lucid" by itself not an approved term, so there should be no instances where the company name is a partial word.

Oneway Expansion Synonyms

Oneway expansions expand original terms with more standard terms while retaining the original term; they do not do the opposite, expand standard terms to the original non-standard terms

monitor => monitor, display

In this case, "display" is the standard term, but "monitor" is used in some older user-generated content.

Multiway Expansion Synonyms

Where each term is considered equally standard, multi-way synonyms expand the query so any items with any of the terms is retrieved.

login,logon,signin,signon

This example shows terms which are used interchangeably by authors. For this search engine, there is no need to distinguish among them, and considerable value in increasing recall to find all items discussing this topic, however other content stores may use them differently. Note that "logging" and "signing" having very specific meanings in many contexts, so they may not be candidates for synonyms.

Example of synonym expansion:

Results before synonyms Results after synonyms

0 results for query "logon" before synonyms

18 results for query "logon" after synonyms

Viewing the query using the debug=true parameter shows how it is expanded:

"querystring": "logon",
"parsedquery": "(+DisjunctionMaxQuery((Synonym(_text_:login _text_:logon _text_:signin _text_:signon))))/no_coord",
"parsedquery_toString": "+(Synonym(_text_:login _text_:logon _text_:signin _text_:signon))",

Multi-word Synonyms

Lucene/Solr started supporting multiword synonyms in version 6.6, and Fusion in version 3.1 and later. There are significant technical complexities in performing graphed phrased expansion that had to be overcome.

To enable multi-word synonyms in Fusion, create an Additional Parameter stage for disabling the split on whitespace tokenization process (which applies to synonyms only):

sow=false

Using EDismax, this allows the new Solr SynonymGraphFilter to create the graph representations of token streams containing overlapping synonyms of varying word counts, and expand the queries with additional terms.

Examples:

appstudio => app studio
signup =>signup,sign up
login,log in,logon,log on,signin,sign in,signon,sign on

Multi-word Synonyms work just like Single-word synonyms, expanding the parsed query with additional query terms. For Solr details, see: Multi-Word Synonyms: Solr Adds Query-Time Support.

Synonyms Editor API

The Synonyms Editor API provides complete REST access to all aspects of the Synonyms.

Using the Synonyms Manager

The Fusion UI provides an interactive Synonyms management tool: from the Fusion launcher, click Search > home Home > Synonyms, then click on synonyms.txt. Once opened, the Synonyms manager panel will display the synonyms.txt as a series of editable fields, 1 per line.

Synonyms Manager in the Fusion UI

Using the Synonyms Manager

  • Click on the empty field at the bottom to edit.

  • Move the cursor out of the editor field to add the item.

  • Click on the Type button to make the direction of the synonyms one-way or two-way, or just type commas and =>

  • Enter labels in the Category field to identify and group rules (Fusion only)

  • Use the column controls to sort ascending or descending values

  • The green check button will enable or disable the synonym

  • The red x button will delete a synonym

  • The "Save" button in the upper right corner will keep changes and apply these synonyms to the current collection immediately.

  • The "Export" button will download in csv via the browser to the download folder.

  • The "Import and Save" button will offer a choice of local csv files to import into Fusion.

Note: After changing synonym settings, the upper right notification will say "Updated". However, the changes do not take effect until you click the "Save" button.