Skip to content

Commit 51f39cf

Browse files
Merge pull request #262141 from HeidiSteen/heidist-fix
[azure search] GH issue (storage limits)
2 parents 87bb44c + 5fe981c commit 51f39cf

File tree

4 files changed

+35
-31
lines changed

4 files changed

+35
-31
lines changed

articles/search/search-limits-quotas-capacity.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ author: HeidiSteen
88
ms.author: heidist
99
ms.service: cognitive-search
1010
ms.topic: conceptual
11-
ms.date: 11/16/2023
11+
ms.date: 01/02/2024
1212
ms.custom:
1313
- references_regions
1414
- ignite-2023
@@ -18,7 +18,7 @@ ms.custom:
1818

1919
Maximum limits on storage, workloads, and quantities of indexes and other objects depend on whether you [provision Azure AI Search](search-create-service-portal.md) at **Free**, **Basic**, **Standard**, or **Storage Optimized** pricing tiers.
2020

21-
+ **Free** is a multi-tenant shared service that comes with your Azure subscription.
21+
+ **Free** is a multitenant shared service that comes with your Azure subscription.
2222

2323
+ **Basic** provides dedicated computing resources for production workloads at a smaller scale, but shares some networking infrastructure with other tenants.
2424

@@ -29,7 +29,7 @@ Maximum limits on storage, workloads, and quantities of indexes and other object
2929
## Subscription limits
3030
[!INCLUDE [azure-search-limits-per-subscription](../../includes/azure-search-limits-per-subscription.md)]
3131

32-
## Storage limits
32+
## Service limits
3333
[!INCLUDE [azure-search-limits-per-service](../../includes/azure-search-limits-per-service.md)]
3434

3535
<a name="index-limits"></a>
@@ -59,7 +59,7 @@ You might find some variation in maximum limits if your service happens to be pr
5959

6060
## Document limits
6161

62-
There are no longer any document limits per service in Azure AI Search, however, there's a limit of approximately 24 billion documents per index on Basic, S1, S2, S3, L1, and L2 search services. For S3 HD, the limit is 2 billion documents per index. Each element of a complex collection counts as a separate document in terms of these limits.
62+
You can have approximately 24 billion documents per index on Basic, S1, S2, S3, L1, and L2 search services. For S3 HD, the limit is 2 billion documents per index. Each instance of a complex collection counts as a separate document in terms of these limits.
6363

6464
### Document size limits per API call
6565

@@ -73,11 +73,11 @@ When estimating document size, remember to consider only those fields that can b
7373

7474
When you index documents with vector fields, Azure AI Search constructs internal vector indexes using the algorithm parameters you provide. The size of these vector indexes is restricted by the memory reserved for vector search for your service's tier (or SKU).
7575

76-
The service enforces a vector index size quota **for every partition** in your search service. Each extra partition increases the available vector index size quota. This quota is a hard limit to ensure your service remains healthy, which means that further indexing attempts once the limit is exceeded results in failure. You may resume indexing once you free up available quota by either deleting some vector documents or by scaling up in partitions.
76+
The service enforces a vector index size quota **for every partition** in your search service. Each extra partition increases the available vector index size quota. This quota is a hard limit to ensure your service remains healthy, which means that further indexing attempts once the limit is exceeded results in failure. You can resume indexing once you free up available quota by either deleting some vector documents or by scaling up in partitions.
7777

7878
The table describes the vector index size quota per partition across the service tiers (or SKU). For context, it includes:
7979

80-
+ [Storage limits](#storage-limits) for each tier, repeated here for context.
80+
+ [Partition storage limits](#service-limits) for each tier, repeated here for context.
8181
+ Amount of each partition (in GB) available for vector indexes (created when you add vector fields to an index).
8282
+ Approximate number of embeddings (floating point values) per partition.
8383

@@ -125,8 +125,8 @@ Maximum running times exist to provide balance and stability to the service as a
125125
| Maximum skillsets <sup>4</sup> |3 |5 or 15 |50 |200 |200 |N/A |10 |10 |
126126
| Maximum indexing load per invocation |10,000 documents |Limited only by maximum documents |Limited only by maximum documents |Limited only by maximum documents |Limited only by maximum documents |N/A |No limit |No limit |
127127
| Minimum schedule | 5 minutes |5 minutes |5 minutes |5 minutes |5 minutes |5 minutes |5 minutes | 5 minutes |
128-
| Maximum running time <sup>6</sup>| 1-3 minutes |2 or 24 hours |2 or 24 hours |2 or 24 hours |2 or 24 hours |N/A |2 or 24 hours |2 or 24 hours |
129-
| Maximum running time for indexers with a skillset <sup>5</sup> | 3-10 minutes |2 hours |2 hours |2 hours |2 hours |N/A |2 hours |2 hours |
128+
| Maximum running time <sup>5</sup>| 1-3 minutes |2 or 24 hours |2 or 24 hours |2 or 24 hours |2 or 24 hours |N/A |2 or 24 hours |2 or 24 hours |
129+
| Maximum running time for indexers with a skillset <sup>6</sup> | 3-10 minutes |2 hours |2 hours |2 hours |2 hours |N/A |2 hours |2 hours |
130130
| Blob indexer: maximum blob size, MB |16 |16 |128 |256 |256 |N/A |256 |256 |
131131
| Blob indexer: maximum characters of content extracted from a blob |32,000 |64,000 |4&nbsp;million |8&nbsp;million |16&nbsp;million |N/A |4&nbsp;million |4&nbsp;million |
132132

@@ -138,9 +138,9 @@ Maximum running times exist to provide balance and stability to the service as a
138138

139139
<sup>4</sup> Maximum of 30 skills per skillset.
140140

141-
<sup>5</sup> AI enrichment and image analysis are computationally intensive and consume disproportionate amounts of available processing power. Running time for these workloads has been shortened to give other jobs in the queue more opportunity to run.
141+
<sup>5</sup> Regarding the 2 or 24 hour maximum duration for indexers: a 2-hour maximum is the most common and it's what you should plan for. The 24-hour limit is from an older indexer implementation. If you have unscheduled indexers that run continuously for 24 hours, it's because those indexers couldn't be migrated to the newer runtime behavior. For extra large data sets, indexers can be made to run longer than maximum limits if you put them on a [2-hour run time schedule](search-howto-schedule-indexers.md). When the first 2-hour interval is complete, the indexer picks up where it left off to start the next 2-hour interval.
142142

143-
<sup>6</sup> Indexer execution and combined indexer-skillset execution is subject to a 2-hour maximum duration. Currently, some indexers have a longer 24-hour maximum execution window, but that behavior isn't the norm. The longer window only applies if a service or its indexers can't be internally migrated to the newer runtime behavior. If more than 2 hours are needed to complete an indexer or indexer-skillset process, [schedule the indexer](search-howto-schedule-indexers.md) to run at 2-hour intervals.
143+
<sup>6</sup> Skillset execution, and image analysis in particular, are computationally intensive and consume disproportionate amounts of available processing power. Running time for these workloads has been shortened to give other jobs in the queue more opportunity to run.
144144

145145
> [!NOTE]
146146
> As stated in the [Index limits](#index-limits), indexers will also enforce the upper limit of 3000 elements across all complex collections per document starting with the latest GA API version that supports complex types (`2019-05-06`) onwards. This means that if you've created your indexer with a prior API version, you will not be subject to this limit. To preserve maximum compatibility, an indexer that was created with a prior API version and then updated with an API version `2019-05-06` or later, will still be **excluded** from the limits. Customers should be aware of the adverse impact of having very large complex collections (as stated previously) and we highly recommend creating any new indexers with the latest GA API version.
@@ -156,7 +156,7 @@ Indexers can access other Azure resources [over private endpoints](search-indexe
156156
| Maximum private endpoints | N/A | 10 or 30 | 100 | 400 | 400 | N/A | 20 | 20 |
157157
| Maximum distinct resource types<sup>2</sup> | N/A | 4 | 7 | 15 | 15 | N/A | 4 | 4 |
158158

159-
<sup>1</sup> AI enrichment and image analysis are computationally intensive and consume disproportionate amounts of available processing power. For this reason, private connections are disabled on lower tiers to avoid an adverse impact on the performance and stability of the search service itself.
159+
<sup>1</sup> AI enrichment and image analysis are computationally intensive and consume disproportionate amounts of available processing power. For this reason, private connections are disabled on lower tiers to ensure the performance and stability of the search service itself.
160160

161161
<sup>2</sup> The number of distinct resource types are computed as the number of unique `groupId` values used across all shared private link resources for a given search service, irrespective of the status of the resource.
162162

@@ -179,7 +179,7 @@ Maximum number of [index aliases](search-how-to-alias.md) varies by tier. In all
179179

180180
## Data limits (AI enrichment)
181181

182-
An [AI enrichment pipeline](cognitive-search-concept-intro.md) that makes calls to Azure AI Language resource for [entity recognition](cognitive-search-skill-entity-recognition-v3.md), [entity linking](cognitive-search-skill-entity-linking-v3.md), [key phrase extraction](cognitive-search-skill-keyphrases.md), [sentiment analysis](cognitive-search-skill-sentiment-v3.md), [language detection](cognitive-search-skill-language-detection.md), and [personal-information detection](cognitive-search-skill-pii-detection.md) is subject to data limits. The maximum size of a record should be 50,000 characters as measured by [`String.Length`](/dotnet/api/system.string.length). If you need to break up your data before sending it to the sentiment analyzer, use the [Text Split skill](cognitive-search-skill-textsplit.md).
182+
An [AI enrichment pipeline](cognitive-search-concept-intro.md) that makes calls to an Azure AI Language resource for [entity recognition](cognitive-search-skill-entity-recognition-v3.md), [entity linking](cognitive-search-skill-entity-linking-v3.md), [key phrase extraction](cognitive-search-skill-keyphrases.md), [sentiment analysis](cognitive-search-skill-sentiment-v3.md), [language detection](cognitive-search-skill-language-detection.md), and [personal-information detection](cognitive-search-skill-pii-detection.md) is subject to data limits. The maximum size of a record should be 50,000 characters as measured by [`String.Length`](/dotnet/api/system.string.length). If you need to break up your data before sending it to the sentiment analyzer, use the [Text Split skill](cognitive-search-skill-textsplit.md).
183183

184184
## Throttling limits
185185

@@ -198,6 +198,7 @@ Static rate request limits for operations related to a service:
198198
+ Service Statistics (GET /servicestats): 4 per second per search unit
199199

200200
## API request limits
201+
201202
* Maximum of 16 MB per request <sup>1</sup>
202203
* Maximum 8 KB URL length
203204
* Maximum 1000 documents per batch of index uploads, merges, or deletes
@@ -213,10 +214,12 @@ Static rate request limits for operations related to a service:
213214
Limits on query size and composition exist because unbounded queries can destabilize your search service. Typically, such queries are created programmatically. If your application generates search queries programmatically, we recommend designing it in such a way that it doesn't generate queries of unbounded size.
214215

215216
## API response limits
217+
216218
* Maximum 1000 documents returned per page of search results
217219
* Maximum 100 suggestions returned per Suggest API request
218220

219221
## API key limits
222+
220223
API keys are used for service authentication. There are two types. Admin keys are specified in the request header and grant full read-write access to the service. Query keys are read-only, specified on the URL, and typically distributed to client applications.
221224

222225
* Maximum of 2 admin keys per service

articles/search/vector-search-index-size.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ The storage size of one vector is determined by its dimensionality. Multiply the
114114

115115
For `Edm.Single`, the size of the data type is 4 bytes.
116116

117-
### Memory Overhead from the Selected Algorithm
117+
### Memory overhead from the selected algorithm
118118

119119
Every approximate nearest neighbor (ANN) algorithm generates extra data structures in memory to enable efficient searching. These structures consume extra space within memory.
120120

@@ -161,4 +161,4 @@ Disk storage overhead of vector data is roughly three times the size of vector i
161161

162162
### Storage vs. vector index size quotas
163163

164-
The storage and vector index size quotas aren't separate quotas. Vector indexes contribute to the [storage quota for the search service](search-limits-quotas-capacity.md#storage-limits) as a whole. For example, if your storage quota is exhausted but there's remaining vector quota, you can't index any more documents, regardless if they're vector documents, until you scale up in partitions to increase storage quota or delete documents (either text or vector) to reduce storage usage. Similarly, if vector quota is exhausted but there's remaining storage quota, further indexing attempts fail until vector quota is freed, either by deleting some vector documents or by scaling up in partitions.
164+
The storage and vector index size quotas aren't separate quotas. Vector indexes contribute to the [storage quota for the search service](search-limits-quotas-capacity.md#service-limits) as a whole. For example, if your storage quota is exhausted but there's remaining vector quota, you can't index any more documents, regardless if they're vector documents, until you scale up in partitions to increase storage quota or delete documents (either text or vector) to reduce storage usage. Similarly, if vector quota is exhausted but there's remaining storage quota, further indexing attempts fail until vector quota is freed, either by deleting some vector documents or by scaling up in partitions.

includes/azure-search-limits-per-service.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,22 @@
55
author: HeidiSteen
66
ms.service: cognitive-search
77
ms.topic: include
8-
ms.date: 05/11/2020
8+
ms.date: 01/02/2024
99
ms.author: heidist
1010
ms.custom: include file
1111
---
1212

13-
A search service is constrained by disk space or by a hard limit on the maximum number of indexes or indexers, whichever comes first. The following table documents storage limits. For maximum object limits, see [Limits by resource](../articles/search/search-limits-quotas-capacity.md#index-limits).
13+
A search service is subject to a maximum storage limit (partition size multiplied by the number of partitions) or by a hard limit on the [maximum number of indexes](../articles/search/search-limits-quotas-capacity.md#index-limits) or [indexers](../articles/search/search-limits-quotas-capacity.md#indexer-limits), whichever comes first.
1414

15-
| Resource | Free | Basic<sup>1</sup> | S1 | S2 | S3 | S3&nbsp;HD | L1 | L2 |
15+
| Resource | Free <sup>1</sup> | Basic <sup>1</sup> | S1 | S2 | S3 | S3&nbsp;HD | L1 | L2 |
1616
| -------- | --- | --- | --- | --- | --- | --- | --- | --- |
17-
| Service level agreement (SLA)<sup>2</sup> |No |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
18-
| Storage per partition |50 MB |2 GB |25 GB |100 GB |200 GB |200 GB |1 TB |2 TB |
19-
| Partitions per service |N/A |1 |12 |12 |12 |3 |12 |12 |
20-
| Partition size |N/A |2 GB |25 GB |100 GB |200 GB |200 GB |1 TB |2 TB |
21-
| Replicas |N/A |3 |12 |12 |12 |12 |12 |12 |
17+
| Service level agreement (SLA) <sup>2</sup> |No |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
18+
| Storage (partition size) |50 MB <sup>3</sup> |2 GB |25 GB |100 GB |200 GB |200 GB |1 TB |2 TB |
19+
| Partitions | N/A |1 |12 |12 |12 |3 |12 |12 |
20+
| Replicas | N/A |3 |12 |12 |12 |12 |12 |12 |
2221

23-
<sup>1</sup> Basic has one fixed partition. Additional search units can be used to add replicas for larger query volumes.
22+
<sup>1</sup> Basic has one fixed partition. You can specify up to 3 more search units to add replicas for larger query volumes and high availability.
2423

25-
<sup>2</sup> Service level agreements are in effect for billable services on dedicated resources. Free services and preview features have no SLA. For billable services, SLAs take effect when you provision sufficient redundancy for your service. Two or more replicas are required for query (read) SLAs. Three or more replicas are required for query and indexing (read-write) SLAs. The number of partitions isn't an SLA consideration.
24+
<sup>2</sup> Service level agreements apply to billable services having dedicated resources. Free services and preview features have no SLA. For billable services, SLAs take effect when you provision sufficient redundancy for your service. Two or more replicas are required for query (read) SLAs. Three or more replicas are required for query and indexing (read-write) SLAs. The number of partitions isn't an SLA consideration. See [Reliability in Azure AI Search](/azure/search/search-reliability#high-availability) to learn more about replicas and high availability.
25+
26+
<sup>3</sup> Free services don't have a dedicated partition. The 50-MB storage limit refers to the maximum space allocated to a free search service on infrastructure shared with other customers.

includes/azure-search-limits-per-subscription.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44
author: HeidiSteen
55
ms.service: cognitive-search
66
ms.topic: include
7-
ms.date: 07/17/2023
7+
ms.date: 01/02/2024
88
ms.author: heidist
99
ms.custom:
1010
- include file
1111
- ignite-2023
1212
---
1313

14-
You can create multiple *billable* search services (Basic and higher), limited only by the number of services allowed at each tier. For example, you could create up to 16 services at the Basic tier and another 16 services at the S1 tier within the same subscription. For more information about tiers, see [Choose an SKU or tier for Azure AI Search](../articles/search/search-sku-tier.md).
14+
You can create multiple *billable* search services (Basic and higher), up to the maximum number of services allowed at each tier. For example, you could create up to 16 services at the Basic tier and another 16 services at the S1 tier within the same subscription. For more information about tiers, see [Choose a tier (or SKU) for Azure AI Search](../articles/search/search-sku-tier.md).
1515

1616
Maximum service limits can be raised upon request. If you need more services within the same subscription, [file a support request](../articles/search/search-create-service-portal.md#add-more-services-to-a-subscription).
1717

18-
| Resource | Free<sup>1</sup> | Basic | S1 | S2 | S3 | S3&nbsp;HD | L1 | L2 |
19-
| ------------------- | ---- | ----- | --- | -- | -- | ----- | -- | -- |
18+
| Resource | Free <sup>1</sup> | Basic | S1 | S2 | S3 | S3&nbsp;HD | L1 | L2 |
19+
| ------------------- | ---- | ----- | --- |--|--| ----- |--|--|
2020
| Maximum services |1 | 16 | 16 | 8 | 6 | 6 | 6 | 6 |
21-
| Maximum scale in search units (SU)<sup>2</sup> |N/A |3 SU |36 SU |36 SU |36 SU |36 SU |36 SU |36 SU |
21+
| Maximum search units (SU)<sup>2</sup> |N/A |3 SU |36 SU |36 SU |36 SU |36 SU |36 SU |36 SU |
2222

23-
<sup>1</sup> You can have one free search service per Azure subscription. The free tier is based on infrastructure that's shared with other customers. Because the hardware isn't dedicated, scale-up isn't supported, and storage is limited to 50 MB.
23+
<sup>1</sup> You can have one free search service per Azure subscription. The free tier is based on infrastructure shared with other customers. Because the hardware isn't dedicated, scale-up isn't supported, and storage is limited to 50 MB.
2424

25-
<sup>2</sup> Search units are billing units, allocated as either a *replica* or a *partition*. You need both resources for storage, indexing, and query operations. To learn more about SU computations, see [Scale resource levels for query and index workloads](../articles/search/search-capacity-planning.md).
25+
<sup>2</sup> Search units (SU) are billing units, allocated as either a *replica* or a *partition*. You need both. To learn more about SU combinations, see [Estimate and manage capacity of a search service](../articles/search/search-capacity-planning.md).

0 commit comments

Comments
 (0)