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-howto-connecting-azure-sql-database-to-azure-search-using-indexers.md
+16-32Lines changed: 16 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,21 @@
1
1
---
2
-
title: Index data from Azure SQL
2
+
title: Azure SQL indexer
3
3
titleSuffix: Azure Cognitive Search
4
-
description: Set up an Azure SQL indexer to automate indexing of content and metadata for full text search in Azure Cognitive Search.
4
+
description: Set up a search indexer to index data stored in Azure SQL Database for full text search in Azure Cognitive Search.
5
5
6
6
manager: nitinme
7
-
author: mgottein
8
-
ms.author: magottei
9
-
ms.devlang: rest-api
7
+
author: HeidiSteen
8
+
ms.author: heidist
10
9
ms.service: cognitive-search
11
-
ms.topic: conceptual
12
-
ms.date: 06/26/2021
10
+
ms.topic: how-to
11
+
ms.date: 02/28/2022
13
12
---
14
13
15
14
# Index data from Azure SQL
16
15
17
-
This article shows you how to configure an Azure SQL indexer to extract content and make it searchable in Azure Cognitive Search. This workflow creates a search index on Azure Cognitive Search and loads it with existing content extracted from Azure SQL Database and Azure SQL managed instances.
16
+
In this article, learn how to configure an [**indexer**](search-indexer-overview.md) that imports content from Azure SQL and makes it searchable in Azure Cognitive Search. The workflow creates a search index and loads it with text extracted from Azure SQL Database and Azure SQL managed instances.
18
17
19
-
This article covers the mechanics of using [indexers](search-indexer-overview.md), but also describes features only available with Azure SQL Database or SQL Managed Instance (for example, integrated change tracking).
20
-
21
-
You can set up an Azure SQL indexer by using any of these clients:
This article supplements [**Create an indexer**](search-howto-create-indexers.md) with information about settings that are specific to Azure SQL. You can create indexers using the [Azure portal](https://portal.azure.com), [Search REST APIs](/rest/api/searchservice/Indexer-operations) or an Azure SDK. This article uses REST to explain each step.
28
19
29
20
## Prerequisites
30
21
@@ -178,7 +169,7 @@ If your SQL database supports [change tracking](/sql/relational-databases/track-
178
169
179
170
To use this policy, create or update your data source like this:
180
171
181
-
```
172
+
```http
182
173
{
183
174
"name" : "myazuresqldatasource",
184
175
"type" : "azuresql",
@@ -215,7 +206,7 @@ This change detection policy relies on a "high water mark" column capturing the
215
206
216
207
To use a high water mark policy, create or update your data source like this:
217
208
218
-
```
209
+
```http
219
210
{
220
211
"name" : "myazuresqldatasource",
221
212
"type" : "azuresql",
@@ -244,7 +235,7 @@ If you're using a [rowversion](/sql/t-sql/data-types/rowversion-transact-sql) da
244
235
245
236
To enable this feature, create or update the indexer with the following configuration:
246
237
247
-
```
238
+
```http
248
239
{
249
240
... other indexer definition properties
250
241
"parameters" : {
@@ -258,7 +249,7 @@ To enable this feature, create or update the indexer with the following configur
258
249
259
250
If you encounter timeout errors, you can use the `queryTimeout` indexer configuration setting to set the query timeout to a value higher than the default 5-minute timeout. For example, to set the timeout to 10 minutes, create or update the indexer with the following configuration:
260
251
261
-
```
252
+
```http
262
253
{
263
254
... other indexer definition properties
264
255
"parameters" : {
@@ -272,7 +263,7 @@ If you encounter timeout errors, you can use the `queryTimeout` indexer configur
272
263
273
264
You can also disable the `ORDER BY [High Water Mark Column]` clause. However, this is not recommended because if the indexer execution is interrupted by an error, the indexer has to re-process all rows if it runs later - even if the indexer has already processed almost all the rows by the time it was interrupted. To disable the `ORDER BY` clause, use the `disableOrderByHighWaterMarkColumn` setting in the indexer definition:
274
265
275
-
```
266
+
```http
276
267
{
277
268
... other indexer definition properties
278
269
"parameters" : {
@@ -281,13 +272,14 @@ You can also disable the `ORDER BY [High Water Mark Column]` clause. However, th
281
272
```
282
273
283
274
### Soft Delete Column Deletion Detection policy
275
+
284
276
When rows are deleted from the source table, you probably want to delete those rows from the search index as well. If you use the SQL integrated change tracking policy, this is taken care of for you. However, the high water mark change tracking policy doesn’t help you with deleted rows. What to do?
285
277
286
278
If the rows are physically removed from the table, Azure Cognitive Search has no way to infer the presence of records that no longer exist. However, you can use the “soft-delete” technique to logically delete rows without removing them from the table. Add a column to your table or view and mark rows as deleted using that column.
287
279
288
280
When using the soft-delete technique, you can specify the soft delete policy as follows when creating or updating the data source:
289
281
290
-
```
282
+
```http
291
283
{
292
284
…,
293
285
"dataDeletionDetectionPolicy" : {
@@ -329,7 +321,7 @@ SQL indexer exposes several configuration settings:
329
321
330
322
These settings are used in the `parameters.configuration` object in the indexer definition. For example, to set the query timeout to 10 minutes, create or update the indexer with the following configuration:
331
323
332
-
```
324
+
```http
333
325
{
334
326
... other indexer definition properties
335
327
"parameters" : {
@@ -347,14 +339,6 @@ Yes. However, you need to allow your search service to connect to your database.
347
339
348
340
Not directly. We do not recommend or support a direct connection, as doing so would require you to open your databases to Internet traffic. Customers have succeeded with this scenario using bridge technologies like Azure Data Factory. For more information, see [Push data to an Azure Cognitive Search index using Azure Data Factory](../data-factory/v1/data-factory-azure-search-connector.md).
349
341
350
-
**Q: Can I use Azure SQL indexer with databases other than SQL Server running in IaaS on Azure?**
351
-
352
-
No. We don’t support this scenario, because we haven’t tested the indexer with any databases other than SQL Server.
353
-
354
-
**Q: Can I create multiple indexers running on a schedule?**
355
-
356
-
Yes. However, only one indexer can be running on one node at one time. If you need multiple indexers running concurrently, consider scaling up your search service to more than one search unit.
357
-
358
342
**Q: Does running an indexer affect my query workload?**
359
343
360
344
Yes. Indexer runs on one of the nodes in your search service, and that node’s resources are shared between indexing and serving query traffic and other API requests. If you run intensive indexing and query workloads and encounter a high rate of 503 errors or increasing response times, consider [scaling up your search service](search-capacity-planning.md).
Copy file name to clipboardExpand all lines: articles/search/search-howto-index-cosmosdb.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,11 +12,11 @@ ms.date: 02/15/2022
12
12
13
13
# Index data from Azure Cosmos DB using the SQL API
14
14
15
-
This article shows you how to configure an Azure Cosmos DB [indexer](search-indexer-overview.md)to extract content and make it searchable in Azure Cognitive Search. This workflow creates an Azure Cognitive Search index and loads it with existing text extracted from Azure Cosmos DB using the [SQL API](../cosmos-db/choose-api.md#coresql-api).
15
+
In this article, learn how to configure an [**indexer**](search-indexer-overview.md)that imports content from Azure Cosmos DB and makes it searchable in Azure Cognitive Search. The workflow creates a search index and loads it with text extracted from Azure Cosmos DB using the [SQL API](../cosmos-db/choose-api.md#coresql-api).
16
16
17
-
Because terminology can be confusing, it's worth noting that [Azure Cosmos DB indexing](../cosmos-db/index-overview.md) and [Azure Cognitive Search indexing](search-what-is-an-index.md) are different operations. Indexing in Cognitive Search creates and loads a search index on your search service.
17
+
Because terminology can be confusing, it's worth noting that [Cosmos DB indexing](../cosmos-db/index-overview.md) and [Cognitive Search indexing](search-what-is-an-index.md) are different operations. Indexing in Cognitive Search creates and loads a search index on your search service.
18
18
19
-
Although Cosmos DB indexing is easiest with the [Import data wizard](search-import-data-portal.md), this article uses the REST APIs to explain concepts and steps.
19
+
This article supplements [**Create an indexer**](search-howto-create-indexers.md) with information about settings that are specific to Cosmos DB SQL API. You can create indexers using the [Azure portal](https://portal.azure.com), [Search REST APIs](/rest/api/searchservice/Indexer-operations) or an Azure SDK. This article uses REST to explain each step.
20
20
21
21
## Prerequisites
22
22
@@ -26,8 +26,6 @@ Although Cosmos DB indexing is easiest with the [Import data wizard](search-impo
26
26
27
27
+ Read permissions. A "full access" connection string includes a key that grants access to the content, but if you're using Azure roles, make sure the [search service managed identity](search-howto-managed-identities-data-sources.md) has **Cosmos DB Account Reader Role** permissions.
28
28
29
-
Unfamiliar with indexers? See [**Create an indexer**](search-howto-create-indexers.md) before you get started.
30
-
31
29
## Define the data source
32
30
33
31
The data source definition specifies the data to index, credentials, and policies for identifying changes in the data. A data source is defined as an independent resource so that it can be used by multiple indexers.
0 commit comments