Implementing Synonyms
Start course

This course focuses on the skills necessary to implement a knowledge-mining solution with a focus on the Cognitive Search solution. The course will walk through how to create a Cognitive Search solution and how to set up the process for importing data. Once the data sources have been set up properly, the course will teach you how to create a search index and then how to configure it to provide the best results possible.

Learning Objectives

  • Create a Cognitive Search solution
  • Import from data sources
  • Create, configure, and test indexes
  • Configure AutoComplete and AutoSuggest
  • Improve results based on relevance
  • Implement synonyms

Intended Audience

  • Developers who want to include full-text search in their applications
  • Data engineers focused on providing better accessibility to organizational data
  • AI engineers that provide AI combined with search functionality in their solutions


To get the most out of this course, you should:

  • Have a strong understanding of data sources and how data will be needed by users consuming a Cognitive Search solution
  • Be able to use REST-based APIs and SDKs to build knowledge-mining solutions on Azure



Hi there in this last video where we're talking about enriching our Cognitive Search Solution, let's talk about the implementing of synonyms within your search service. Synonyms are mappings that you implement inside of your service to allow for better querying. It associates equal terms that you define, expanding the scope of your query and therefore providing better results. An example, you can assume that the words, dog, canine and puppy are all synonyms. So therefore if you query the word canine, it should return a result that has the term dog in it, but only you can define the synonyms. Some of them such as dog, canine and puppy are fairly self-explanatory, but you're defining synonyms within the scope of your datasets.

Synonym maps are added to the service as a whole, meaning that they can be used across multiple indexes. So here's an example of what a synonym map would look like and you would post this synonym map to the synonym maps API via the POST rest call. You would create the name for the map, in this case, geo-synonyms. You're going to specify the format and typically it is solr because solr is the open-source basis of the Azure Search Service. And then you specify your synonyms. In this case, USA, United States, United States of America, all of those being equal.

By creating these synonym maps, attaching them to your service, it will make and provide better relevance when actually performing search queries. But again, you can only create these synonym maps if you have a solid understanding of the data that you are sourcing for your index and how your users are going to want to search for the content within that index.

Lastly, as the last video in this particular course, I've talked about a lot of different features and functions and some of them have a lot more depth than what I'm able to cover within this course and if you do have specific questions related to any of those topics, you can take a look at this slide. This slide does provide links to specific documentation pages within the Azure documentation where maybe you want to ask a more detailed or look up a more detailed example of the topics that we covered here in the course.

·       Create an Index

·       Create an Indexer

·       Simple Query Request

·       AutoComplete & AutoSuggest

·       Scoring Profiles

·       Semantic Relevance

·       Synonym Maps

And then lastly, because of the fact that the Azure Cognitive Search Service can only partially be implemented inside of the Azure portal, it requires API knowledge to be able to do certain index, indexer-related topics or to actually perform a search query. So I'm going to be providing a set of code at this particular URL under my GitHub repo that you can use for reference to how to make modifications to your search service using C-Sharp and NodeJS. So hopefully this was of value and I hope see you next time.

About the Author

Brian has been working in the Cloud space for more than a decade as both a Cloud Architect and Cloud Engineer. He has experience building Application Development, Infrastructure, and AI-based architectures using many different OSS and Non-OSS based technologies. In addition to his work at Cloud Academy, he is always trying to educate customers about how to get started in the cloud with his many blogs and videos. He is currently working as a Lead Azure Engineer in the Public Sector space.