Product

Feature Spotlight: Synonyms
facebooklinkedintwittermail

Back in May 2014, we added support for synonyms inside Algolia. We took our time to really nail the details, and in the near-decade since, this feature has been useful to just about all of our customers. Given how popular it is, yet how confusing it might be to new users, we figured we’d recap what they are and why our implementation of them works slightly differently than most.

What are synonyms?

Synonyms tell the search engine which words and expressions to consider equal. For example, a clothing company would likely want to specify that pants and trousers are the same thing, because we’d want a user searching for trousers to get results that don’t contain that word, but that are instead marked as pants.

How to change synonyms in the Algolia dashboard

To change the synonyms in the Algolia dashboard, here’s what you need to do:

  • Click on Search in the left sidebar inside your application.

Algolia search UI

  • Click on the Configuration tab of the index.

Search configuration UI

  • Click on the Synonyms tab.

search synonym configuration

  • Click Add Synonyms if you’re doing this for the first time.

Add synonym configuration

  • Select the type of synonym you want to add, fill in the necessary boxes, and click Save.

Choose search synonyms to add

Types of synonyms available to choose from

Algolia makes this process straightforward and mostly self-explanatory. The only part that might be a little confusing is that last popup – you get to choose between four different types of synonyms:

  • Normal, two-way synonyms

This is the type of synonyms we described earlier, where two or more terms are marked as identical in the context of that specific application. For example, a clothing company might want to specify that pants and trousers should be counted as the same thing, so results matching one should also match the other term.

  • One-way synonyms

This is used when one term should be counted as part of another. For example, an electronics retailer might want to consider iPads as a subset of tablets in general, so that someone searching for tablets would get results for iPads (which likely don’t include the word tablet in their product title), but users searching for iPads won’t get results for Android tablets.

  • Placeholders

This is how we let one record match many similar but more specific queries. For example, a record for iPhone cases should match more specific queries for each model’s cases. Queries like “iphone 13 case” and “iphone 14 case” are just about as close to records for the phones themselves as a record for a generic iPhone case, so you’d get the most relevant results by putting a placeholder for the model number inside the case record’s title, like this: “iPhone <model> Case”. And then you can create a placeholder synonym for “<model>” with all of the relevant models that the record should match.

  • Alternative corrections

This feature is used to consider a one-way synonym a typo for ranking purposes. For example, our user searching for generic tablets might want to also get iPads in the results like in our one-way example, but since someone expecting to get results for iPads likely would have used a more specific query, we’ll consider “iPad” a typo of “tablet” so that a query for tablets will return generic tablets first iPads further down the list.

Typeahead and Highlighting

In most search engines, synonyms are not compatible with typeahead search. For example, the “pants” and “trousers” synonyms wouldn’t activate as the user is typing the query. The first query to go out would be “t”, then “tr”, then “tro”, then “trou”, and so on for each letter – but none of those queries will return any results for “pants”.

Only when the user completes the word “trousers” will all of the “pants” results suddenly pop up, which might be a little jarring for the user. That last letter could completely change the result set, but we can improve that user experience. With Algolia, the synonyms match even as prefixes, so the result set only refines as the query gets longer.

That goes for highlighting too. The part of the result that matches the query in a typical search is highlighted somehow to show why the result is relevant. But that can be hard to understand when matching a synonym. If the reason for relevance isn’t made obvious enough, the user could easily think the search engine just glitched and returned weird, irrelevant results.

However, Algolia returns exactly what the matching word is, so if you make that information clear to the user, you turn their confusion into relief that the engine understood their error.

And that’s synonyms!

It’s one of the most powerful and versatile features that Algolia offers, and if you’d like to learn more about it, you can check out the docs here. Stay tuned for more upcoming Feature Spotlight posts to learn more about what makes Algolia special!

About the authorJaden Baptista

Jaden Baptista

Technical Writer

Recommended Articles

Powered by Algolia AI Recommendations

4 questions to ask for relevant search results
Product

4 questions to ask for relevant search results

Jaden Baptista

Jaden Baptista

Technical Writer
Query Relaxation and Scoping as part of semantic search
UX

Query Relaxation and Scoping as part of semantic search

Dustin Coates

Dustin Coates

Product and GTM Manager
What are synonyms as they apply to search? Part 1
Product

What are synonyms as they apply to search? Part 1

Jon Silvers

Jon Silvers

Director, Digital Marketing