Skip to content

Commit ff40910

Browse files
authored
Merge pull request #189891 from HeidiSteen/heidist-work
Azure SQL metadata and intro
2 parents 2b7cc9d + 0db170a commit ff40910

File tree

2 files changed

+19
-37
lines changed

2 files changed

+19
-37
lines changed

articles/search/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers.md

Lines changed: 16 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,21 @@
11
---
2-
title: Index data from Azure SQL
2+
title: Azure SQL indexer
33
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.
55

66
manager: nitinme
7-
author: mgottein
8-
ms.author: magottei
9-
ms.devlang: rest-api
7+
author: HeidiSteen
8+
ms.author: heidist
109
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
1312
---
1413

1514
# Index data from Azure SQL
1615

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.
1817

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:
22-
23-
* [Azure portal](https://portal.azure.com)
24-
* Azure Cognitive Search [REST API](/rest/api/searchservice/Indexer-operations)
25-
* Azure Cognitive Search [.NET SDK](/dotnet/api/azure.search.documents.indexes.models.searchindexer)
26-
27-
This article uses the REST APIs.
18+
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.
2819

2920
## Prerequisites
3021

@@ -178,7 +169,7 @@ If your SQL database supports [change tracking](/sql/relational-databases/track-
178169

179170
To use this policy, create or update your data source like this:
180171

181-
```
172+
```http
182173
{
183174
"name" : "myazuresqldatasource",
184175
"type" : "azuresql",
@@ -215,7 +206,7 @@ This change detection policy relies on a "high water mark" column capturing the
215206

216207
To use a high water mark policy, create or update your data source like this:
217208

218-
```
209+
```http
219210
{
220211
"name" : "myazuresqldatasource",
221212
"type" : "azuresql",
@@ -244,7 +235,7 @@ If you're using a [rowversion](/sql/t-sql/data-types/rowversion-transact-sql) da
244235

245236
To enable this feature, create or update the indexer with the following configuration:
246237

247-
```
238+
```http
248239
{
249240
... other indexer definition properties
250241
"parameters" : {
@@ -258,7 +249,7 @@ To enable this feature, create or update the indexer with the following configur
258249

259250
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:
260251

261-
```
252+
```http
262253
{
263254
... other indexer definition properties
264255
"parameters" : {
@@ -272,7 +263,7 @@ If you encounter timeout errors, you can use the `queryTimeout` indexer configur
272263

273264
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:
274265

275-
```
266+
```http
276267
{
277268
... other indexer definition properties
278269
"parameters" : {
@@ -281,13 +272,14 @@ You can also disable the `ORDER BY [High Water Mark Column]` clause. However, th
281272
```
282273

283274
### Soft Delete Column Deletion Detection policy
275+
284276
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?
285277

286278
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.
287279

288280
When using the soft-delete technique, you can specify the soft delete policy as follows when creating or updating the data source:
289281

290-
```
282+
```http
291283
{
292284
…,
293285
"dataDeletionDetectionPolicy" : {
@@ -329,7 +321,7 @@ SQL indexer exposes several configuration settings:
329321

330322
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:
331323

332-
```
324+
```http
333325
{
334326
... other indexer definition properties
335327
"parameters" : {
@@ -347,14 +339,6 @@ Yes. However, you need to allow your search service to connect to your database.
347339

348340
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).
349341

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-
358342
**Q: Does running an indexer affect my query workload?**
359343

360344
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).

articles/search/search-howto-index-cosmosdb.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ ms.date: 02/15/2022
1212

1313
# Index data from Azure Cosmos DB using the SQL API
1414

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).
1616

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.
1818

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.
2020

2121
## Prerequisites
2222

@@ -26,8 +26,6 @@ Although Cosmos DB indexing is easiest with the [Import data wizard](search-impo
2626

2727
+ 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.
2828

29-
Unfamiliar with indexers? See [**Create an indexer**](search-howto-create-indexers.md) before you get started.
30-
3129
## Define the data source
3230

3331
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

Comments
 (0)