Skip to content

Commit 7c879bd

Browse files
Merge pull request #274514 from HeidiSteen/heidist-vectors
moved sections in capacity doc
2 parents 84aa212 + 1c0e846 commit 7c879bd

File tree

4 files changed

+50
-48
lines changed

4 files changed

+50
-48
lines changed

articles/reliability/migrate-search-service.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ If you created your search service in a region that supports availability zones
4444

4545
>[!IMPORTANT]
4646
>The [free and basic tiers do not support availability zones](../search/search-sku-tier.md#feature-availability-by-tier), and so they should not be used.
47-
1. Add at [least two replicas to your new search service](../search/search-capacity-planning.md#add-or-reduce-replicas-and-partitions). Once the search service has at least two replicas, it automatically takes advantage of availability zone support.
47+
1. Add at [least two replicas to your new search service](../search/search-capacity-planning.md#adjust-capacity). Once the search service has at least two replicas, it automatically takes advantage of availability zone support.
4848
1. Migrate your data from your old search service to your new search service by rebuilding of all your search indexes from your old service.
4949

5050
To rebuild all of your search indexes:

articles/search/search-capacity-planning.md

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -40,50 +40,6 @@ Capacity is expressed in *search units* that can be allocated in combinations of
4040

4141
Review the [partitions and replicas table](#partition-and-replica-combinations) for possible combinations that stay under the 36 unit limit.
4242

43-
### Estimate with a billable tier
44-
45-
Storage needs are determined by the size of the indexes you expect to build. There are no solid heuristics or generalities that help with estimates. The only way to determine the size of an index is [build one](search-what-is-an-index.md). Its size is based on tokenization and embeddings, and whether you enable suggesters, filtering, and sorting, or can take advantage of [vector compression](vector-search-how-to-configure-compression-storage.md).
46-
47-
We recommend estimating on a billable tier, Basic or above. The Free tier runs on physical resources shared by multiple customers and is subject to factors beyond your control. Only the dedicated resources of a billable search service can accommodate larger sampling and processing times for more realistic estimates of index quantity, size, and query volumes during development.
48-
49-
1. [Review service limits at each tier](./search-limits-quotas-capacity.md#service-limits) to determine whether lower tiers can support the number of indexes you need. Consider whether you need multiple copies of an index for active development, testing, and production.
50-
51-
A search service is subject to object limits (maximum number of indexes, indexers, skillsets, etc.) and storage limits. Whichever limit is reached first is the effective limit.
52-
53-
1. [Create a service at a billable tier](search-create-service-portal.md). Tiers are optimized for certain workloads. For example, Storage Optimized tier has a limit of 10 indexes because it's designed to support a low number of very large indexes.
54-
55-
+ Start low, at Basic or S1, if you're not sure about the projected load.
56-
57-
+ Start high, at S2 or even S3, if testing includes large-scale indexing and query loads.
58-
59-
+ Start with Storage Optimized, at L1 or L2, if you're indexing a large amount of data and query load is relatively low, as with an internal business application.
60-
61-
1. [Build an initial index](search-what-is-an-index.md) to determine how source data translates to an index. This is the only way to estimate index size. Attributes on the field definitions affect physical storage requirements:
62-
63-
+ For keyword search, marking fields as filterable and sortable [increases index size](search-what-is-an-index.md#example-demonstrating-the-storage-implications-of-attributes-and-suggesters).
64-
65-
+ For vector search, you can [set parameters to reduce storage](vector-search-how-to-configure-compression-storage.md).
66-
67-
1. [Monitor storage, service limits, query volume, and latency](monitor-azure-cognitive-search.md) in the portal. The portal shows you queries per second, throttled queries, and search latency. All of these values can help you decide if you selected the right tier.
68-
69-
1. Add replicas for high availability or to mitigate slow query performance.
70-
71-
There are no guidelines on how many replicas are needed to accommodate query loads. Query performance depends on the complexity of the query and competing workloads. Although adding replicas clearly results in better performance, the result isn't strictly linear: adding three replicas doesn't guarantee triple throughput. For guidance in estimating QPS for your solution, see [Analyze performance](search-performance-analysis.md)and [Monitor queries](search-monitor-queries.md).
72-
73-
For an [inverted index](https://en.wikipedia.org/wiki/Inverted_index), size and complexity are determined by content, not necessarily by the amount of data that you feed into it. A large data source with high redundancy could result in a smaller index than a smaller dataset that contains highly variable content. So it's rarely possible to infer index size based on the size of the original dataset.
74-
75-
Storage requirements can be inflated if you include data that will never be searched. Ideally, documents contain only the data that you need for the search experience.
76-
77-
### Service-level agreement considerations
78-
79-
The Free tier and preview features aren't covered by [service-level agreements (SLAs)](https://azure.microsoft.com/support/legal/sla/search/v1_0/). For all billable tiers, SLAs take effect when you provision sufficient redundancy for your service.
80-
81-
+ Two or more replicas satisfy query (read) SLAs.
82-
83-
+ Three or more replicas satisfy query and indexing (read-write) SLAs.
84-
85-
The number of partitions doesn't affect SLAs.
86-
8743
## When to add capacity
8844

8945
Initially, a service is allocated a minimal level of resources consisting of one partition and one replica. The [tier you choose](search-sku-tier.md) determines partition size and speed, and each tier is optimized around a set of characteristics that fit various scenarios. If you choose a higher-end tier, you might [need fewer partitions](search-performance-tips.md#service-capacity) than if you go with S1. One of the questions you'll need to answer through self-directed testing is whether a larger and more expensive partition yields better performance than two cheaper partitions on a service provisioned at a lower tier.
@@ -107,7 +63,9 @@ Finally, larger indexes take longer to query. As such, you might find that every
10763
10864
<a name="adjust-capacity"></a>
10965

110-
## Add or reduce replicas and partitions
66+
## How to change capacity
67+
68+
To increase or decrease the capacity of your search service, add or remove partitions and replicas.
11169

11270
1. Sign in to the [Azure portal](https://portal.azure.com/) and select the search service.
11371

@@ -189,6 +147,50 @@ For search services on any billable tier, regardless of creation date, you need
189147

190148
For billing rates per tier and currency, see the [Azure AI Search pricing page](https://azure.microsoft.com/pricing/details/search/).
191149

150+
## Estimate capacity using a billable tier
151+
152+
Storage needs are determined by the size of the indexes you expect to build. There are no solid heuristics or generalities that help with estimates. The only way to determine the size of an index is [build one](search-what-is-an-index.md). Its size is based on tokenization and embeddings, and whether you enable suggesters, filtering, and sorting, or can take advantage of [vector compression](vector-search-how-to-configure-compression-storage.md).
153+
154+
We recommend estimating on a billable tier, Basic or above. The Free tier runs on physical resources shared by multiple customers and is subject to factors beyond your control. Only the dedicated resources of a billable search service can accommodate larger sampling and processing times for more realistic estimates of index quantity, size, and query volumes during development.
155+
156+
1. [Review service limits at each tier](./search-limits-quotas-capacity.md#service-limits) to determine whether lower tiers can support the number of indexes you need. Consider whether you need multiple copies of an index for active development, testing, and production.
157+
158+
A search service is subject to object limits (maximum number of indexes, indexers, skillsets, etc.) and storage limits. Whichever limit is reached first is the effective limit.
159+
160+
1. [Create a service at a billable tier](search-create-service-portal.md). Tiers are optimized for certain workloads. For example, Storage Optimized tier has a limit of 10 indexes because it's designed to support a low number of very large indexes.
161+
162+
+ Start low, at Basic or S1, if you're not sure about the projected load.
163+
164+
+ Start high, at S2 or even S3, if testing includes large-scale indexing and query loads.
165+
166+
+ Start with Storage Optimized, at L1 or L2, if you're indexing a large amount of data and query load is relatively low, as with an internal business application.
167+
168+
1. [Build an initial index](search-what-is-an-index.md) to determine how source data translates to an index. This is the only way to estimate index size. Attributes on the field definitions affect physical storage requirements:
169+
170+
+ For keyword search, marking fields as filterable and sortable [increases index size](search-what-is-an-index.md#example-demonstrating-the-storage-implications-of-attributes-and-suggesters).
171+
172+
+ For vector search, you can [set parameters to reduce storage](vector-search-how-to-configure-compression-storage.md).
173+
174+
1. [Monitor storage, service limits, query volume, and latency](monitor-azure-cognitive-search.md) in the portal. The portal shows you queries per second, throttled queries, and search latency. All of these values can help you decide if you selected the right tier.
175+
176+
1. Add replicas for high availability or to mitigate slow query performance.
177+
178+
There are no guidelines on how many replicas are needed to accommodate query loads. Query performance depends on the complexity of the query and competing workloads. Although adding replicas clearly results in better performance, the result isn't strictly linear: adding three replicas doesn't guarantee triple throughput. For guidance in estimating QPS for your solution, see [Analyze performance](search-performance-analysis.md)and [Monitor queries](search-monitor-queries.md).
179+
180+
For an [inverted index](https://en.wikipedia.org/wiki/Inverted_index), size and complexity are determined by content, not necessarily by the amount of data that you feed into it. A large data source with high redundancy could result in a smaller index than a smaller dataset that contains highly variable content. So it's rarely possible to infer index size based on the size of the original dataset.
181+
182+
Storage requirements can be inflated if you include data that will never be searched. Ideally, documents contain only the data that you need for the search experience.
183+
184+
## Service-level agreement considerations
185+
186+
The Free tier and preview features aren't covered by [service-level agreements (SLAs)](https://azure.microsoft.com/support/legal/sla/search/v1_0/). For all billable tiers, SLAs take effect when you provision sufficient redundancy for your service.
187+
188+
+ Two or more replicas satisfy query (read) SLAs.
189+
190+
+ Three or more replicas satisfy query and indexing (read-write) SLAs.
191+
192+
The number of partitions doesn't affect SLAs.
193+
192194
## Next steps
193195

194196
> [!div class="nextstepaction"]

articles/search/search-how-to-load-search-index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ A search service imports and indexes text and vectors in JSON, used in full text
2121

2222
Once data is indexed, the physical data structures of the index are locked in. For guidance on what can and can't be changed, see [Drop and rebuild an index](search-howto-reindex.md).
2323

24-
Indexing isn't a background process. A search service will balance indexing and query workloads, but if [query latency is too high](search-performance-analysis.md#impact-of-indexing-on-queries), you can either [add capacity](search-capacity-planning.md#add-or-reduce-replicas-and-partitions) or identify periods of low query activity for loading an index.
24+
Indexing isn't a background process. A search service will balance indexing and query workloads, but if [query latency is too high](search-performance-analysis.md#impact-of-indexing-on-queries), you can either [add capacity](search-capacity-planning.md#adjust-capacity) or identify periods of low query activity for loading an index.
2525

2626
## Load documents
2727

articles/search/search-performance-tips.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ When query performance is slowing down in general, adding more replicas frequent
9595

9696
One positive side-effect of adding partitions is that slower queries sometimes perform faster due to parallel computing. We've noted parallelization on low selectivity queries, such as queries that match many documents, or facets providing counts over a large number of documents. Since significant computation is required to score the relevancy of the documents, or to count the numbers of documents, adding extra partitions helps queries complete faster.
9797

98-
To add partitions, use [Azure portal](search-capacity-planning.md#add-or-reduce-replicas-and-partitions), [PowerShell](search-manage-powershell.md), [Azure CLI](search-manage-azure-cli.md), or a management SDK.
98+
To add partitions, use [Azure portal](search-capacity-planning.md#adjust-capacity), [PowerShell](search-manage-powershell.md), [Azure CLI](search-manage-azure-cli.md), or a management SDK.
9999

100100
## Service capacity
101101

0 commit comments

Comments
 (0)