Plan and manage costs of an Azure Cognitive Search service
This article explains the billing model and billable events of Azure Cognitive Search, and provides direction for managing the costs.
As a first step, estimate your baseline costs by using the Azure pricing calculator. Alternatively, estimated costs and tier comparisons can also be found in the Select a pricing tier page when creating a service.
Azure provides built-in cost management that cuts across service boundaries to provide inclusive cost monitoring and the ability to set budgets and define alerts. The costs of running a search service will vary depending on capacity and which features you use. After you create your search service, optimize capacity so that you pay only for what you need.
Understand the billing model
Azure Cognitive Search runs on Azure infrastructure that accrues costs when you deploy new resources. It's important to understand that there could be other additional infrastructure costs that might accrue.
How you're charged for Azure Cognitive Search
When you create or use Search resources, you're charged for the following meters:
You're charged an hourly rate based on the pricing tier of your search service, prorated to the hour.
The charge is applied per the number of search units (SU) allocated to the service. Search units are units of capacity. Total SU is the product of replicas and partitions (R x P = SU) used by your service.
Billing is based on capacity (SUs) and the costs of running premium features, such as AI enrichment, Semantic search, and Private endpoints. Meters associated with premium features are listed in the following table.
|Image extraction (AI enrichment) 1, 2||Per 1000 images. See the pricing page.|
|Custom Entity Lookup skill (AI enrichment) 1||Per 1000 text records. See the pricing page|
|Built-in skills (AI enrichment) 1||Number of transactions, billed at the same rate as if you had performed the task by calling Cognitive Services directly. You can process 20 documents per indexer per day for free. Larger or more frequent workloads require a multi-resource Cognitive Services key.|
|Semantic Search 1||Number of queries of "queryType=semantic", billed at a progressive rate. See the pricing page.|
|Private Endpoints 1||Billed as long as the endpoint exists, and billed for bandwidth.|
1 Applies only if you use or enable the feature.
2 In an indexer configuration, "imageAction" is the parameter that triggers image extraction. If "imageAction" is set to "none" (the default), you won't be charged for image extraction.
There is no meter on the number of queries, query responses, or documents ingested, although service limits do apply at each tier.
Data traffic might also incur networking costs. See the Bandwidth pricing.
Several premium features such as knowledge store, Debug Sessions, and enrichment cache have a dependency on Azure Storage. The meters for Azure Storage apply in this case, and the associated storage costs of using these features will be included in the Azure Storage bill.
Customer-managed keys provide double encryption of sensitive content. This feature requires a billable Azure Key Vault).
Skillsets can include billable built-in skills, non-billable built-in utility skills, and custom skills. Non-billable utility skills include Conditional, Shaper, Text Merge, Text Split. There is no billing impact when using them, no Cognitive Services key requirement, and no 20 document limit.
A custom skill is functionality you provide. The cost of using a custom skill depends entirely on whether custom code is calling other metered services. There is no Cognitive Services key requirement and no 20 document limit on custom skills.
Cost management is built into the Azure infrastructure. Review Billing and cost management for more information about tracking costs, tools, and APIs.
Follow these guidelines to minimize costs of an Azure Cognitive Search solution.
If possible, create all resources in the same region, or in as few regions as possible, to minimize or eliminate bandwidth charges.
Scale up for resource-intensive operations like indexing, and then readjust downwards for regular query workloads. If there are predictable patterns to your workloads, you might be able to synchronize scale up to coincide with the expected volume (you would need to write code to automate this).
When estimating the cost of a search solution, keep in mind that pricing and capacity aren't linear (doubling capacity more than doubles the cost on the same tier). Also, at some point, switching up to a higher tier can give you better and faster performance at roughly the same price point. For more information and an example, see Upgrade to a Standard S2 tier.
Consider Azure Web App for your front-end application so that requests and responses stay within the data center boundary.
If you're using AI enrichment, there is an extra charge for blob storage, but the cumulative cost goes down if you enable enrichment caching.
You can create budgets to manage costs and create alerts that automatically notify stakeholders of spending anomalies and overspending risks. Alerts are based on spending compared to budget and cost thresholds. Budgets and alerts are created for Azure subscriptions and resource groups, so they're useful as part of an overall cost monitoring strategy.
Budgets can be created with filters for specific resources or services in Azure if you want more granularity present in your monitoring. Filters help ensure that you don't accidentally create new resources that cost you extra money. For more information about the filter options available when you create a budget, see Group and filter options.
Export cost data
You can also export your cost data to a storage account. This is helpful when you need or others to do more data analysis for costs. For example, a finance team can analyze the data using Excel or Power BI. You can export your costs on a daily, weekly, or monthly schedule and set a custom date range. Exporting cost data is the recommended way to retrieve cost datasets.
Can I temporarily shut down a search service to save on costs?
Search runs as a continuous service. Dedicated resources are always operational, allocated for your exclusive use for the lifetime of your service. To stop billing entirely, you must delete the service. Deleting a service is permanent and also deletes its associated data.
Can I change the billing rate (tier) of an existing search service?
In-place upgrade or downgrade is not supported. Changing a service tier requires provisioning a new service at the desired tier.
- Learn more on how pricing works with Azure Cognitive Search. See Azure Cognitive Search pricing page.
- Learn more about replicas and partitions.
- Learn how to optimize your cloud investment with Azure Cost Management.
- Learn more about managing costs with cost analysis.
- Learn about how to prevent unexpected costs.
- Take the Cost Management guided learning course.
Submit and view feedback for