Skip to content

Commit c05882b

Browse files
authored
Merge pull request #114905 from HeidiSteen/heidist-master
[azure search] Service limit simplification
2 parents 7bd1737 + 635d0af commit c05882b

File tree

2 files changed

+18
-29
lines changed

2 files changed

+18
-29
lines changed

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

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,20 @@ author: HeidiSteen
88
ms.author: heidist
99
ms.service: cognitive-search
1010
ms.topic: conceptual
11-
ms.date: 12/17/2019
11+
ms.date: 05/11/2020
1212
---
1313

1414
# Service limits in Azure Cognitive Search
1515

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

18-
+ **Free** is a multi-tenant shared service that comes with your Azure subscription. Indexing and query requests execute on replicas and partitions that are used by other tenants.
18+
+ **Free** is a multi-tenant shared service that comes with your Azure subscription.
1919

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

22-
+ **Standard** runs on dedicated machines with more storage and processing capacity at every level. Standard comes in four levels: S1, S2, S3, and S3 HD.
22+
+ **Standard** runs on dedicated machines with more storage and processing capacity at every level. Standard comes in four levels: S1, S2, S3, and S3 HD. S3 High Density (S3 HD) is engineered for [multi-tenancy](search-modeling-multitenant-saas-applications.md) and large quantities of small indexes (three thousand indexes per service). S3 HD does not provide the [indexer feature](search-indexer-overview.md) and data ingestion must leverage APIs that push data from source to index.
2323

24-
+ **Storage Optimized** runs on dedicated machines with more total storage, storage bandwidth, and memory than **Standard**. Storage Optimized comes in two levels: L1 and L2
25-
26-
> [!NOTE]
27-
> As of July 1, all tiers are generally available, including the Storage Optimized tier. All pricing can be found on the [Pricing Details](https://azure.microsoft.com/pricing/details/search/) page.
28-
29-
S3 High Density (S3 HD) is engineered for specific workloads: [multi-tenancy](search-modeling-multitenant-saas-applications.md) and large quantities of small indexes (three thousand indexes per service). This tier does not provide the [indexer feature](search-indexer-overview.md). On S3 HD, data ingestion must leverage the push approach, using API calls to push data from source to index.
30-
31-
> [!NOTE]
32-
> A service is provisioned at a specific tier. Jumping tiers to gain capacity involves provisioning a new service (there is no in-place upgrade). For more information, see [Choose a SKU or tier](search-sku-tier.md). To learn more about adjusting capacity within a service you've already provisioned, see [Scale resource levels for query and indexing workloads](search-capacity-planning.md).
33-
>
24+
+ **Storage Optimized** runs on dedicated machines with more total storage, storage bandwidth, and memory than **Standard**. This tier targets large, slow-changing indexes. Storage Optimized comes in two levels: L1 and L2.
3425

3526
## Subscription limits
3627
[!INCLUDE [azure-search-limits-per-subscription](../../includes/azure-search-limits-per-subscription.md)]
@@ -57,9 +48,6 @@ Maximum limits on storage, workloads, and quantities of indexes and other object
5748

5849
<sup>2</sup> Having a very large number of elements in complex collections per document currently causes high storage utilization. This is a known issue. In the meantime, a limit of 3000 is a safe upper bound for all service tiers. This limit is only enforced for indexing operations that utilize the earliest generally available (GA) API version that supports complex type fields (`2019-05-06`) onwards. To not break clients who might be using earlier preview API versions (that support complex type fields), we will not be enforcing this limit for indexing operations that use these preview API versions. Note that preview API versions are not meant to be used for production scenarios and we highly recommend customers move to the latest GA API version.
5950

60-
> [!NOTE]
61-
> While the maximum capacity of a single index is typically limited by available storage, there are maximum upper bounds on the total number of documents that can be stored in a single index. This limit is approximately 24 billion documents per index for Basic, S1, S2, and S3 search services and 2 billion documents per index for S3HD search services. Each element of a complex collections count as separate documents for the purposes of these limits.
62-
6351
<a name="document-limits"></a>
6452

6553
## Document limits
@@ -68,13 +56,16 @@ As of October 2018, there are no longer any document count limits for any new se
6856

6957
To determine whether your service has document limits, use the [GET Service Statistics REST API](https://docs.microsoft.com/rest/api/searchservice/get-service-statistics). Document limits are reflected in the response, with `null` indicating no limits.
7058

59+
> [!NOTE]
60+
> Although there are no document limits imposed by the service, there is a shard limit of approximately 24 billion documents per index on Basic, S1, S2, and S3 search services. For S3 HD, the shard limit is 2 billion documents per index. Each element of a complex collection counts as a separate document in terms of shard limits.
61+
7162
### Document size limits per API call
7263

7364
The maximum document size when calling an Index API is approximately 16 megabytes.
7465

7566
Document size is actually a limit on the size of the Index API request body. Since you can pass a batch of multiple documents to the Index API at once, the size limit realistically depends on how many documents are in the batch. For a batch with a single document, the maximum document size is 16 MB of JSON.
7667

77-
To keep document size down, remember to exclude non-queryable data from the request. Images and other binary data are not directly queryable and shouldn't be stored in the index. To integrate non-queryable data into search results, define a non-searchable field that stores a URL reference to the resource.
68+
When estimating document size, remember to consider only those fields that can be consumed by a search service. Any binary or image data in source documents should be omitted from your calculations.
7869

7970
## Indexer limits
8071

@@ -101,14 +92,14 @@ Maximum running times exist to provide balance and stability to the service as a
10192

10293
<sup>4</sup> Maximum of 30 skills per skillset.
10394

104-
<sup>5</sup> Cognitive search workloads and image analysis in Azure blob indexing have shorter running times than regular text indexing. Image analysis and natural language processing are computationally intensive and consume disproportionate amounts of available processing power. Running time was reduced to give other jobs in the queue an opportunity to run.
95+
<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.
10596

10697
> [!NOTE]
10798
> 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.
10899
109100
## Synonym limits
110101

111-
The maximum number of synonym maps allowed varies by pricing tier. Each rule can have up to 20 expansions, where an expansion is an equivalent term. For example, given "cat", association with "kitty", "feline", and "felis" (the genus for cats) would count as 3 expansions.
102+
Maximum number of synonym maps varies by tier. Each rule can have up to 20 expansions, where an expansion is an equivalent term. For example, given "cat", association with "kitty", "feline", and "felis" (the genus for cats) would count as 3 expansions.
112103

113104
| Resource | Free | Basic | S1 | S2 | S3 | S3-HD |L1 | L2 |
114105
| -------- | -----|------ |----|----|----|-------|---|----|
@@ -121,11 +112,11 @@ QPS estimates must be developed independently by every customer. Index size and
121112

122113
Estimates are more predictable when calculated on services running on dedicated resources (Basic and Standard tiers). You can estimate QPS more closely because you have control over more of the parameters. For guidance on how to approach estimation, see [Azure Cognitive Search performance and optimization](search-performance-optimization.md).
123114

124-
For the Storage Optimized tiers, you should expect a lower query throughput and higher latency than the Standard tiers. The methodology for estimating the query performance you'll experience is the same as the Standard tiers.
115+
For the Storage Optimized tiers (L1 and L2), you should expect a lower query throughput and higher latency than the Standard tiers.
125116

126117
## Data limits (AI enrichment)
127118

128-
An [AI enrichment pipeline](cognitive-search-concept-intro.md) that makes calls to a Text Analytics resource for [entity recognition](cognitive-search-skill-entity-recognition.md), [key phrase extraction](cognitive-search-skill-keyphrases.md), [sentiment analysis](cognitive-search-skill-sentiment.md), [language detection](cognitive-search-skill-language-detection.md), and [PII 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`](https://docs.microsoft.com/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).
119+
An [AI enrichment pipeline](cognitive-search-concept-intro.md) that makes calls to a Text Analytics resource for [entity recognition](cognitive-search-skill-entity-recognition.md), [key phrase extraction](cognitive-search-skill-keyphrases.md), [sentiment analysis](cognitive-search-skill-sentiment.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`](https://docs.microsoft.com/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).
129120

130121
## Throttling limits
131122

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

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

13-
Storage is constrained by disk space or by a hard limit on the *maximum number* of indexes, document, or other high-level resources, whichever comes first. The following table documents storage limits. For maximum limits on indexes, documents, and other objects, see [Limits by resource](../articles/search/search-limits-quotas-capacity.md#index-limits).
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).
1414

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

23-
<sup>1</sup> Basic has one fixed partition. At this tier, additional search units are used for allocating more replicas for increased query workloads.
23+
<sup>1</sup> Basic has one fixed partition. Additional search units can be used to add replicas for larger query volumes.
2424

25-
<sup>2</sup> S3 HD has a hard limit of three partitions, which is lower than the partition limit for S3. The lower partition limit is imposed because the index count for S3 HD is substantially higher. Given that service limits exist for both computing resources (storage and processing) and content (indexes and documents), the content limit is reached first.
26-
27-
<sup>3</sup> Service level agreements are offered 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.
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.

0 commit comments

Comments
 (0)