Introduction

You will definitely have seen and used one of the most popular features of almost every application that helps us find the required information. It’s search. Below are a few examples where you would use Search.

Though all the above examples provide the feature “Search” along with the relevant results, the complexity and functionality depends on different parameters. The complexity of searching the data would be as simple as pulling data using the ‘where’ condition in your Query on a SQL Table or it could be as complex as having NLP (Natural Language Processing) on your data available in your documents.

It would take lot of efforts and money in implementing complex search functionalities for your applications. Below are a few examples of the reasons.

In order to solve all the above concerns, Microsoft Azure team has come up with a feature called Azure Search as a Service which provides lot of advantages over traditional approach of implementing and managing the search.
Let’s start discussing Azure Search service.

What is Azure Search?

Azure Search is a managed cloud search service that helps you build a powerful search experience into custom apps, and then monitor service, index, and query activity through portal views. Key capabilities include scalable full-text search over multiple languages, geo-spatial search, filtering and faceted navigation, type-ahead queries, hit highlighting, and custom analyzers.

(Ref: https://docs.microsoft.com/en-us/azure/search/ )

What are Azure Search advantages?

  1. We don’t need to manage the infra. Everything related to the required infrastructure for provisioning the search will be taken care of by Microsoft Azure.
  2. Reduced time and efforts both in terms of development and management of the functionalities.

What are Azure Search features?

Below are a few of the features available in the Azure Search function.

  1. Easily scalable in terms of availability and storage.
  2. Multi lingual support. As of this writing, Azure Search support 56 languages.
  3. Provide Search suggestions in the form of Auto Complete feature. Below is screen capture where the service is providing suggestions based on the keywords that the user is typing.


  4. Hit highlighting
    You search keywords are highlighted in each of the search results.


  5. Faced Navigation
    Easily refine your search results based on different categories (ex: In e-commerce based applications, you can filter by different categories like Price Range, Model, Type, etc.). The information required for building these Facets (Categories) will be returned automatically by Azure search based on the keywords that user has searched.

  6. Analytics – Provides insights about the search keywords that users are typing.
How does Azure Search Service know about my application data?
Yes, Azure Search Service expected us to load our application specific data to something called as Index which are similar to database tables. You need to create Indexes depending on your requirement and load your data to these Indexes. Once the Indexes are created and loaded with the required data, you can start running your Queries (Search) on these indexes.

Process of creating and using the Search function

Below is the diagram that provides a basic idea on the workflow of creating an Azure Search function and using it.



What data sources are supports?

Below are a few of the major data sources that Azure Search is capable of searching.

You can play around the websites to understand more about the Azure Search features in more details.

Summary

In this article, we have learned what Azure Search is and where you could use it along with features and advantages. We have also understood the steps required for provisioning the search. Below are the steps required.

You can read the original article here.

Hope you enjoyed reading the article. Your feedback is much appreciated.