Getting Started With Azure Search As Service - Part One

In this article, we will learn about Azure search and how to get started on provisioning Azure search from Azure portal. This is part 1 of  a 3 article series on the below topics
If you are interested in watching video on the same topic, please find it here
 

What is Azure Search?

 
A search-as-as-service solution allowing developers to incorporate great search experiences into applications without managing infrastructure or needing to become search experts.
 
Azure search is basically a search solution which takes away the complex implementation of algorithms from developers and can be used as service which can be consumed by one more applications. Bascially, what we do here is load data in Azure search, data can be in many diffrent formats like text contents, documents, images or blobs. Azure takes care of indexing our data. This data is then exposed by REST API or using .NET SDK. It supports some Azure data sources like Azure SQL database, Azure tables, Azure SQL db in VM etc, for any other external data sources we have to do push mechanism where data needs to be send to Azure using REST API or .NET SDK. 
 
Below are some of the features of Azure search,
  • Cloud based, hides infrastructure requirements
  • Based on Lucene (open source project for search engine)
  • Free form text search (full text, query search, lucene)
  • Relevancy (Simple scoring)
  • Geo-search
  • Facet navigation
  • User experience features
  • Auto complete, Search suggestion, Synonyms, Hit highlighting, Sorting & Paging
  • Multi linguistic
  • Accessible via REST API AND .NET SDK
  • Portal for administration and content management support
  • Heterogeneous content types(categories of data) in searchable index
  • Cognitive search, AI services 
You can read more about these features of Azure at this link.
 
Let's get started on creating Azure Search Service.
 
Step 1 - Go to portal.azure.com
 
Log in with valid Azure account if you have a subscription. We can use Azure Subscription free trial  which is valid for 1 month for some paid services, but for free services for 12 months while some other services are free for lifetime. You can find about these details at this link
 
Step 2 
 
Click on Create a resource from navigation blade.
 
Step 3
 
Type Azure search in search box, and click on auto suggestion. We should get the below screen.
 
 
Step 4 
 
Once we click on Create, it will take us to the below screen.
  • Select your Subscription.
  • Select Resource group, if you don't have any resource group already created or wanted to create new one, click on 'Create new'.
  • URL - Provide any unique name, this would be name of Azure search service which would be be used in Azure Search URL REST API endpoints.
  • Select Location
  • Select pricing tier, depending on your requirement you can use offerings. 
 
If you are using free trial account and get the below error, it means you have crossed the limit of free service quota which is only 1. It means in your Azure subscription there is already 1 free resource which is being provisioned. So either you have to delete that free resource or buy a pay as you go subscription.

{"code":"InvalidTemplateDeployment","message":"The template deployment 'Microsoft.Search' is not valid according to the validation procedure. The tracking id is '130c4e3f-d122-4e8f-956b-6947decbc859'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.","details":[{"code":"ServiceQuotaExceeded","message":"Operation would exceed 'free' tier service quota. You are using 1 out of 1 'free' tier service quota. If you need more quota, please submit a quota increase request with issue type 'Service and subscription limits (quota)' and quota type 'Search' following https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-quota-errors."}]}

Once done select 'Review + Create'. It will validate and show success/failure message. Click on create button (as shown in the below screenshot)

 
We will get the below message as deployment is in progress. Wait until it is completed. 
 
 
Once deployment is complete we get the below screen, click on Go to resource. 
 
 
It will takes us to Azure search resource and will allow us to manage our service from here. There are many different options available. 
 
 
In this next article, we will learn about Azure search concept and terminologies like Index, Schema, Indexer, data sources and will apply this concept by loading sample data in Azure search index and using search explorer to pass our search query and get data.