Create an Azure Cognitive Search service in the portal
Azure Cognitive Search is an Azure resource used for adding a full text search experience to custom apps.
If you have an Azure subscription, including a trial subscription, you can create a search service for free. Free services have limitations, but you can complete all of the quickstarts and most tutorials.
The easiest way to create search service is using the Azure portal, which is covered in this article. You can also use Azure PowerShell, Azure CLI, the Management REST API, an Azure Resource Manager service template, or a Bicep file.
Before you start
The following service properties are fixed for the lifetime of the service. Because they're fixed, consider the usage implications as you fill in each property:
- Service name becomes part of the URL endpoint (review tips for helpful service names).
- Tier (Free, Basic, Standard, and so forth) determines the underlying physical hardware and billing. Some features are tier-constrained.
- Service region can determine the availability of certain scenarios. If you need high availability or AI enrichment, you'll need to create the resource in a region that provides the feature.
Subscribe (free or paid)
To try search for free, open a free Azure account and then create your search service using the Free tier. Because the tier is fixed, it will never transition to become a billable tier.
Alternatively, you can use free credits to try out paid Azure services, which means you can create your search service at Basic or above to get more capacity. Your credit card is never charged unless you explicitly change your settings and ask to be charged. Another approach is to activate Azure credits in a Visual Studio subscription. A Visual Studio subscription gives you credits every month you can use for paid Azure services.
Paid (or billable) search occurs when you choose a billable tier (Basic or above) when creating the resource on a billable Azure subscription.
Find the Azure Cognitive Search offering
Sign in to the Azure portal.
Click the plus sign ("+ Create Resource") in the top-left corner.
Use the search bar to find "Azure Cognitive Search" or navigate to the resource through Web > Azure Cognitive Search.
Choose a subscription
If you've more than one subscription, choose one for your search service. If you're implementing customer-managed encryption or if you use other features that depend on managed service identities for external data access, choose the same subscription as the one used for Azure Key Vault or other services for which managed identities are used.
Set a resource group
A resource group is a container that holds related resources for your Azure solution. It's required for the search service. It's also useful for managing resources all-up, including costs. A resource group can consist of one service, or multiple services used together. For example, if you're using Azure Cognitive Search to index an Azure Cosmos DB database, you could make both services part of the same resource group for management purposes.
If you aren't combining resources into a single group, or if existing resource groups are filled with resources used in unrelated solutions, create a new resource group just for your Azure Cognitive Search resource.
Over time, you can track current and projected costs all-up or you can view charges for individual resources. The following screenshot shows the kind of cost information you can expect to see when you combine multiple resources into one group.
Resource groups simplify cleanup because deleting a group deletes all of the services within it. For prototype projects utilizing multiple services, putting all of them in the same resource group makes cleanup easier after the project is over.
Name the service
In Instance Details, provide a service name in the URL field. The name is part of the URL endpoint against which API calls are issued:
https://your-service-name.search.windows.net. For example, if you want the endpoint to be
https://myservice.search.windows.net, you would enter
Service name requirements:
- It must be unique within the search.windows.net namespace
- It must be between 2 and 60 characters in length
- You must use lowercase letters, digits, or dashes ("-")
- Don't use dashes ("-") in the first 2 characters or as the last single character
- You may not use consecutive dashes ("--") anywhere
If you think you'll be using multiple services, we recommend including the region (or location) in the service name as a naming convention. Services within the same region can exchange data at no charge, so if Azure Cognitive Search is in West US, and you have other services also in West US, a name like
mysearchservice-westus can save you a trip to the properties page when deciding how to combine or attach resources.
Choose a region
Azure Cognitive Search is available in most regions, as listed in the Products available by region page.
As a rule, if you're using multiple Azure services, putting all of them in the same region minimizes or voids bandwidth charges. There are no charges for data exchanges among services when all of them are in the same region.
Two notable exceptions might lead to provisioning one or more search services in a separate region:
Outbound connections from Cognitive Search to Azure Storage. You might want storage in a different region if you're enabling a firewall.
Business continuity and disaster recovery (BCDR) requirements dictate creating multiple search services in regional pairs. For example, if you're operating in North America, you might choose East US and West US, or North Central US and South Central US, for each search service.
Some features are subject to regional availability. If you require any of following features, choose a region that provides them:
AI enrichment requires Cognitive Services to be in the same physical region as Azure Cognitive Search. There are just a few regions that don't provide both. The Products available by region page indicates a common regional presence by showing two stacked check marks. An unavailable combination has a missing check mark. The time piece icon indicates future availability.
Semantic search is currently in preview in selected regions, such as "Australia East" in the above screenshot.
Other features that have regional constraints:
- "Availability Zones" in Scale for Performance
- Azure roles for data plane operations (Azure public cloud only)
Choose a tier
Azure Cognitive Search is currently offered in multiple pricing tiers: Free, Basic, Standard, or Storage Optimized. Each tier has its own capacity and limits. Also the tier you select may impact the availability of certain features. See Feature availability by tier for guidance.
Basic and Standard are the most common choices for production workloads, but initially many customers start with the Free service for evaluation purposes. Among the billable tiers, key differences are partition size and speed, and limits on the number of objects you can create.
Remember, a pricing tier can't be changed once the service is created. If you need a higher or lower tier, you'll have to re-create the service.
Create your service
After you've provided the necessary inputs, go ahead and create the service.
Your service is deployed within minutes. You can monitor progress through Azure notifications. Consider pinning the service to your dashboard for easy access in the future.
Unless you're using the portal, programmatic access to your new service requires that you provide the URL endpoint and an authenticated connection. You can use either or both of these options:
When setting up a programmatic connection, you'll need the search service endpoint. On the Overview page, locate and copy the URL endpoint on the right side of the page.
To set authentication options, use the Keys page. Most quickstarts and tutorials use API keys for simplicity, but if you're setting up a service for production workloads, consider using Azure roles. You can copy keys from this page.
An endpoint and key aren't needed for portal-based tasks. The portal is already linked to your Azure Cognitive Search resource with admin rights. For a portal walkthrough, start with Quickstart: Create an Azure Cognitive Search index in the portal.
Scale your service
After a search service is provisioned, you can scale it to meet your needs. If you chose the Standard tier, you can scale the service in two dimensions: replicas and partitions. For the Basic tier, you can only add replicas. For the free service, scale isn't available.
Partitions allow your service to store and search through more documents.
Replicas allow your service to handle a higher load of search queries.
Adding resources increases your monthly bill. The pricing calculator can help you understand the billing ramifications of adding resources. Remember that you can adjust resources based on load. For example, you might increase resources to create a full initial index, and then reduce resources later to a level more appropriate for incremental indexing.
A service must have 2 replicas for read-only SLA and 3 replicas for read/write SLA.
- Go to your search service page in the Azure portal.
- In the left-navigation pane, select Settings > Scale.
- Use the slidebar to add resources of either type.
When to add a second service
Most customers use just one service provisioned at a tier sufficient for expected load. One service can host multiple indexes, subject to the maximum limits of the tier you select, with each index isolated from another. In Azure Cognitive Search, requests can only be directed to one index, minimizing the chance of accidental or intentional data retrieval from other indexes in the same service.
Although most customers use just one service, service redundancy might be necessary if operational requirements include the following:
Business continuity and disaster recovery (BCDR). Azure Cognitive Search doesn't provide instant failover in the event of an outage.
Multi-tenant architectures sometimes call for two or more services.
Globally deployed applications might require search services in each geography to minimize latency.
In Azure Cognitive Search, you cannot segregate indexing and querying operations; thus, you would never create multiple services for segregated workloads. An index is always queried on the service in which it was created (you cannot create an index in one service and copy it to another).
A second service isn't required for high availability. High availability for queries is achieved when you use 2 or more replicas in the same service. Replica updates are sequential, which means at least one is operational when a service update is rolled out. For more information about uptime, see Service Level Agreements.
Add more services to a subscription
Cognitive Search restricts the number of resources you can initially create in a subscription. If you exhaust your maximum limit, file a new support request to add more search services.
Sign in to the Azure portal and find your search service.
On the left-navigation pane, scroll down and select New Support Request.
In Issue type, choose Service and subscription limits (quotas).
Select the subscription that needs more quota.
Under Quota type, select Search and then select Next.
In the Problem details section, select Enter details.
Follow the prompts to select the location and tier for which you want to increase the limit.
Add the number of new services you would like to add to your quota. The value must not be empty and must between 0 to 100. For example, the maximum number of S2 services is 8. If you want 12 services, you would request 4 of S2 services.
When you're finished, select Save and continue to continue creating your support request.
Provide the additional information required to file the request, and then select Next.
On Review + create, review the details that you'll send to support, and then select Create.
After provisioning a service, you can continue in the portal to create your first index.
Want to optimize and save on your cloud spending?