You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/search-indexer-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ You can use an indexer as the sole means for data ingestion, or in combination w
33
33
|----------|---------|
34
34
| Single data source | This pattern is the simplest: one data source is the sole content provider for a search index. Most supported data sources provide some form of change detection so that subsequent indexer runs pick up the difference when content is added or updated in the source. |
35
35
| Multiple data sources | An indexer specification can have only one data source, but the search index itself can accept content from multiple sources, where each indexer job brings new content from a different data provider. Each source can contribute its share of full documents, or populate selected fields in each document. For a closer look at this scenario, see [Tutorial: Index from multiple data sources](tutorial-multiple-data-sources.md). |
36
-
| Multiple indexers | Multiple data sources are typically paired with multiple indexers if you need to vary run time parameters, the schedule, or field mappings. </br></br>[Cross-region scale out of Azure AI Search](search-reliability.md#data-synchronization-in-a-multi-region-deployment) is a variation of this scenario. You might have copies of the same search index in different regions. To synchronize search index content, you could have multiple indexers pulling from the same data source, where each indexer targets a different search index in each region.</br></br>[Parallel indexing](search-howto-large-index.md#parallel-indexing) of very large data sets also requires a multi-indexer strategy, where each indexer targets a subset of the data. |
36
+
| Multiple indexers | Multiple data sources are typically paired with multiple indexers if you need to vary run time parameters, the schedule, or field mappings. </br></br>[Cross-region scale out of Azure AI Search](search-reliability.md#data-synchronization) is a variation of this scenario. You might have copies of the same search index in different regions. To synchronize search index content, you could have multiple indexers pulling from the same data source, where each indexer targets a different search index in each region.</br></br>[Parallel indexing](search-howto-large-index.md#parallel-indexing) of very large data sets also requires a multi-indexer strategy, where each indexer targets a subset of the data. |
37
37
| Content transformation | Indexers drive [skillset execution and AI enrichment](cognitive-search-concept-intro.md). Content transforms are defined in a [skillset](cognitive-search-working-with-skillsets.md) that you attach to the indexer. You can use skills to [incorporate data chunking and vectorization](vector-search-integrated-vectorization.md).|
38
38
39
39
You should plan on creating one indexer for every target index and data source combination. You can have multiple indexers writing into the same index, and you can reuse the same data source for multiple indexers. However, an indexer can only consume one data source at a time, and can only write to a single index. As the following graphic illustrates, one data source provides input to one indexer, which then populates a single index:
Copy file name to clipboardExpand all lines: articles/search/search-reliability.md
+18-23Lines changed: 18 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,25 +17,22 @@ ms.custom:
17
17
18
18
This article describes reliability support in Azure AI Search, covering intra-regional resiliency via [availability zones](#availability-zone-support) and [multi-region deployments](#multi-region-support).
19
19
20
-
Resiliency is a shared responsibility between you and Microsoft, so this article also covers ways for you to create a resilient solution that meets your needs.
20
+
Reliability is a shared responsibility between you and Microsoft, so this article also covers ways for you to create a resilient solution that meets your needs.
21
21
22
-
<!-- Across Azure, [reliability](/azure/reliability/overview) means resiliency and availability if there's a service outage or degradation. In Azure AI Search, reliability can be achieved within a single service or through multiple search services in separate regions.
22
+
In Azure AI Search, you can achieve reliability by:
23
23
24
-
+ Deploy a single search service and scale up for high availability. You can add multiple replicas to handle higher indexing and query workloads. If your search service [supports availability zones](#availability-zone-support), replicas are automatically provisioned in different physical data centers for extra resiliency.
24
+
+**Scaling a single search service**. Add multiple replicas to increase availability and handle higher indexing and query workloads. If your region supports availability zones, replicas are automatically provisioned in different physical data centers for extra resiliency.
25
25
26
-
+ Deploy multiple search services across different geographic regions. All search workloads are fully contained within a single service that runs in a single geographic region, but in a multi-service scenario, you have options for synchronizing content so that it's the same across all services. You can also set up a load balancing solution to redistribute requests or fail over if there's a service outage.
26
+
+**Deploying multiple search services across different regions**. Each service operates independently within its region. However, in a multi-service scenario, you have options for synchronizing content across all services. You can also use load balancing to redistribute requests or fail over in the event of a service outage.
27
27
28
-
For business continuity and recovery from disasters at a regional level, plan on a cross-regional topology, consisting of multiple search services having identical configuration and content. Your custom script or code provides the *failover* mechanism to an alternate search service if one suddenly becomes unavailable. -->
28
+
> [!NOTE]
29
+
> To ensure business continuity and disaster recovery, use a cross-regional topology consisting of multiple search services with identical configurations and content. Your custom script or code provides a failover mechanism to an alternate search service in case one becomes unavailable.
29
30
30
31
## Production deployment recommendations
31
32
32
-
To ensure reliability and high availability for production workloads, your search service should be on a paid [pricing tier](search-sku-tier.md):
33
+
For production workloads, we recommend using a billable [pricing tier](search-sku-tier.md) with at least two [replicas](search-capacity-planning.md#concepts-search-units-replicas-partitions). This configuration makes your search service more resilient to transient faults and maintenance operations. It also meets the [service-level agreement](#service-level-agreement) for Azure AI Search, which requires two replicas for read-only workloads and three or more replicas for read-write workloads.
33
34
34
-
+ Basic
35
-
+ Standard
36
-
+ Storage Optimized
37
-
38
-
Azure AI Search doesn't provide a service-level agreement for the Free tier, which is strongly discouraged for production use. For more information, see [Service-level agreement](#service-level-agreement).
35
+
Azure AI Search doesn't provide a service-level agreement for the Free tier, which is strongly discouraged for production use.
39
36
40
37
## Transient faults
41
38
@@ -49,7 +46,7 @@ Search services with one replica might experience transient faults due to regula
49
46
50
47
Availability zones are physically separate groups of datacenters within each Azure region. When one zone fails, services can fail over to one of the remaining zones. For more information, see [What are availability zones?](/azure/reliability/availability-zones-overview)
51
48
52
-
Azure AI Search is a zone-redundant service that spreads your replicas across availability zones. A search service runs in one region, while its replicas run in zones within that region.
49
+
Azure AI Search is a zone-redundant service that spreads your [replicas](search-capacity-planning.md#concepts-search-units-replicas-partitions) across availability zones. A search service runs in one region, while its replicas run in zones within that region.
53
50
54
51
When you add two or more replicas to your service, Azure AI Search automatically places each replica in a different availability zone. If your service has more than three replicas, they're distributed across zones as evenly as possible.
55
52
@@ -119,7 +116,7 @@ If you need two or more search services, creating them in different regions can
119
116
120
117
In a multi-region setup, two or more search services are located in different regions and have synchronized indexes. Users are automatically routed to the service with the lowest latency.
121
118
122
-
Azure AI Search doesn't provide an automated method of index replication across regions. However, you can [synchronize data](#data-synchronization-in-a-multi-region-deployment) using indexers or REST APIs, both of which are described in the following section. You can also add Azure Traffic Manager for [request redirection](#request-failover-and-redirection).
119
+
Azure AI Search doesn't provide an automated method of index replication across regions. However, you can [synchronize data](#data-synchronization) using indexers or REST APIs, both of which are described in the following section. You can also add Azure Traffic Manager for [request redirection](#request-failover-and-redirection).
123
120
124
121
The following diagram illustrates a geo-distributed set of search services:
125
122
@@ -128,28 +125,26 @@ The following diagram illustrates a geo-distributed set of search services:
128
125
> [!TIP]
129
126
> For a complete implementation, see the [Bicep sample](https://github.com/Azure-Samples/azure-search-multiple-regions) on GitHub. The sample deploys a fully configured, multi-region search solution that can be modified to your regions and indexing strategies.
130
127
131
-
### Data synchronization in a multi-region deployment
128
+
### Data synchronization
132
129
133
130
To synchronize two or more distinct search services, you can either:
134
131
135
132
+ Pull content into an index using an [indexer](search-indexer-overview.md).
136
133
+ Push content into an index using the [Documents - Index REST API](/rest/api/searchservice/documents/) or an equivalent API in the Azure SDKs.
137
134
138
-
#### [Indexers](#tab/indexers)
135
+
#### Option 1: Indexers
139
136
140
137
If you have an [indexer](search-indexer-overview.md) on one search service, you can create a second indexer on a second service to reference the same data source. Each service in each region has its own indexer and target index. Although the indexes are independent and store their own copies of the data, they remain synchronized because the indexers pull from the same source.
141
138
142
139
The following diagram illustrates this architecture:
143
140
144
141
:::image type="content" source="media/search-reliability/scale-indexers.png" alt-text="Diagram of a single data source with distributed indexer and service combinations." border="true" lightbox="media/search-reliability/scale-indexers.png":::
145
142
146
-
#### [REST APIs](#tab/rest-apis)
143
+
#### Option 2: REST APIs
147
144
148
145
If you use the REST APIs to [push content to your search index](search-what-is-data-import.md#pushing-data-to-an-index), you can synchronize multiple search services by sending updates to each service whenever changes occur. Ensure that your code handles cases in which an update fails for one service but succeeds for other services.
149
146
150
-
---
151
-
152
-
### Data residency in a multi-region deployment
147
+
### Data residency
153
148
154
149
When you create multiple search services in different regions, your content is stored in the region you chose for each service.
155
150
@@ -192,15 +187,15 @@ The following diagram illustrates search apps connecting through Traffic Manager
192
187
:::image type="content" source="media/search-reliability/azure-function-search-traffic-mgr.png" alt-text="Diagram of search apps connecting through Azure Traffic Manager." border="true" lightbox="media/search-reliability/azure-function-search-traffic-mgr.png":::
193
188
194
189
> [!TIP]
195
-
> Azure AI Search provides a [multi-region deployment sample](https://github.com/Azure-Samples/azure-search-multiple-regions) that uses Traffic Manager for request redirection when the primary endpoint fails. This solution is useful for routing to a search-enabled client that only calls a search service in the same region.
190
+
> Azure AI Search provides a [multi-region Bicep sample](https://github.com/Azure-Samples/azure-search-multiple-regions) that uses Traffic Manager for request redirection when the primary endpoint fails. This solution is useful for routing to a search-enabled client that only calls a search service in the same region.
196
191
197
192
---
198
193
199
194
As you evaluate these load-balancing options, consider the following points:
200
195
201
196
+ Azure AI Search is a backend service that accepts indexing and query requests from a client.
202
197
203
-
+ By default, service endpoints are accessed through a public internet connection. We recommend [Application Gateway](#azure-application-gateway) for private endpoints that originate from within a virtual network.
198
+
+ By default, service endpoints are accessed through a public internet connection. We recommend [Azure Application Gateway](/azure/traffic-manager/traffic-manager-overview) for private endpoints that originate from within a virtual network.
204
199
205
200
+ Azure AI Search accepts requests addressed to the `<your-search-service-name>.search.windows.net` endpoint. If you reach the same endpoint using a different DNS name in the host header, such as a CNAME, the request is rejected.
206
201
@@ -220,9 +215,9 @@ Otherwise, if you accidentally delete an index, the application code used to cre
220
215
221
216
The service-level agreement (SLA) for Azure AI Search describes the expected availability of the service and the conditions that must be met to achieve that availability expectation. For more information, see the [SLA for Azure AI Search](https://azure.microsoft.com/support/legal/sla/search/v1_0/).
222
217
223
-
The number of [replicas](search-capacity-planning.md#concepts-search-units-replicas-partitions) deployed to your search service determines your SLA coverage. In Azure AI Search, a replica is a copy of your search index. Each service can have between 1 and 12 replicas. Having more replicas enables Azure AI Search to perform maintenance and handle failures without interrupting queries.
218
+
SLA coverage applies to search services on billable [pricing tiers](search-sku-tier.md) with at least two [replicas](search-capacity-planning.md#concepts-search-units-replicas-partitions). In Azure AI Search, a replica is a copy of your search index. Each service can have between 1 and 12 replicas. Having more replicas enables Azure AI Search to perform maintenance and handle failures without interrupting queries.
224
219
225
-
Single-replica services don't receive SLA protection. However, Microsoft guarantees at least 99.9% availability of:
220
+
Microsoft guarantees at least 99.9% availability of:
226
221
227
222
+ Read-only workloads (queries) for search services with two replicas.
228
223
+ Read-write workloads (queries and indexing) for search services with three or more replicas.
0 commit comments