Creating Azure Search Service And Scaling Replicas And Partitions

In one of my previous articles, AZURE SEARCH AS A SERVICE, we have learned about the following related to Azure Search.

  • Azure Search
  • Azure Search advantages
  • Azure Search features
  • Process of creating and using the Search function
  • The data sources supported by Azure Search as Service

In this article, let’s start with creating the Azure Search Service. Please refer to the steps in the Azure Management portal, highlighted in the below diagram.



Navigate to the Azure Management portal and select “Azure Search”, as shown below.



Clicking on the Azure Search, you will be taken to the following "New Search Service" blade.



You need to provide the following details.

Field NameDescription
URL A unique URL will be created based on the value provided in this textbox. In this example, I have provided “smartazuresearch”. So, the URL will be https://smartazuresearch.search.windows.net. This is the URL that you would be using in the APIs that you use for pushing the data to Search indexes. You will learn more about this in upcoming articles. Please note that you cannot change this URL, once it is created.
Subscription Select the subscription in which you would like to create the service.
Resource Group Choose the existing resource group in which your related applications are created. It’s a good practice to have all the services of a given project’s environment (Production / Staging / Dev) in the same Resource Group.
Location Select the Data Center location where you would like to have Azure provisioning the Search Service. Please make sure that all the applications which consume your Search Service are also hosted in the same location to avoid latency issues.
Pricing Tier In this example, I have chosen Standard – S1 tier. Unlike App Service Plan’s tiers, you CANNOT do in-place updating of the pricing tier of the Search Service. In case you want to scale-up from Free to Standard, you need to re-create everything and migrate the index data (We will discuss more about indexes in the upcoming articles).

Once you are ready with all the details, click on "Create" in order to create the Azure Search Service. Given below is the screenshot of the service that we have created.



Below are the features offered by different tiers, as of this writing.



We will learn more about all the above specified features in my upcoming articles.

Scaling

Azure Search can be scaled in the following two broader ways.

  • Replicas
    Replicas distribute workloads across the Service. You need two or more replicas to support high availability (applies to Basic and Standard tiers only).

  • Partitions
    Partitions allow the scaling of document counts as well as faster data ingestion, by spanning your index over multiple Azure Search Units (applies to Standard tiers only).

Navigate to "Settings" blade and click on "Scale", as shown below.



By default, each Service you create has 1 replicate and 1 partition. We can scale up / down using the "Scale" blade, as shown in the above image. Here, I scaled up the replicas to 2.

In production environment, you should look at having a minimum of 3 replicas to avail 99.9% availability.

Summary

In this article, we have learned the following.

  • How to create an Azure Search Service, using Azure Management Portal.
  • How to scale-up the replicas and partitions to increase the availability of the Search Service.

Hope, you enjoyed reading the article. Your feedback is highly appreciated. You can read the original article here.