Skip to content

Commit e974c7d

Browse files
Merge pull request #234967 from HeidiSteen/heidist-refresh
[azure search] Removed erroneous azure private link registration prerequisite
2 parents db73124 + 1e0f6b6 commit e974c7d

File tree

3 files changed

+32
-51
lines changed

3 files changed

+32
-51
lines changed

articles/search/index-similarity-and-scoring.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ Azure Cognitive Search provides the following scoring algorithms:
4545

4646
| Algorithm | Usage | Range |
4747
|-----------|-------------|-------|
48-
| BM25Similarity | Built-in algorithm on all search services created after July 2020. You can tune relevance ranking, but on newer services, changing the algorithm isn't supported. | Unbounded range |
49-
|ClassicSimilarity | Used on older search services. You can [opt-in for BM25](index-ranking-similarity.md). | 0 < 1.00 |
48+
| BM25Similarity | Fixed algorithm on all search services created after July 2020. You can configure this algorithm, but you can't switch to an older one (classic). | Unbounded. |
49+
|ClassicSimilarity | Present on older search services. You can [opt-in for BM25](index-ranking-similarity.md) and choose an algorithm on a per-index basis. | 0 < 1.00 |
5050

5151
Both BM25 and Classic are TF-IDF-like retrieval functions that use the term frequency (TF) and the inverse document frequency (IDF) as variables to calculate relevance scores for each document-query pair, which is then used for ranking results. While conceptually similar to classic, BM25 is rooted in probabilistic information retrieval that produces more intuitive matches, as measured by user research.
5252

articles/search/search-indexer-how-to-access-private-sql.md

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,34 @@ author: mattmsft
77
ms.author: magottei
88
ms.service: cognitive-search
99
ms.topic: how-to
10-
ms.date: 04/12/2023
10+
ms.date: 04/18/2023
1111
---
1212

1313
# Create a shared private link for a SQL Managed Instance from Azure Cognitive Search
1414

15-
This article explains how to configure an outbound indexer connection in Azure Cognitive Search to a SQL Managed Instance over a private endpoint.
15+
This article explains how to configure an indexer in Azure Cognitive Search for a private connection to a SQL Managed Instance that runs within a virtual network.
1616

1717
On a private connection to a SQL Managed Instance, the fully qualified domain name (FQDN) of the instance must include the [DNS Zone](/azure/azure-sql/managed-instance/connectivity-architecture-overview#virtual-cluster-connectivity-architecture). Currently, only the Azure Cognitive Search Management REST API provides a `resourceRegion` parameter for accepting the DNS zone specification.
1818

19-
Although you can call the Management REST API directly, it's easier to use the Azure CLI `az rest` module to send Management REST API calls from a command line.
19+
Although you can call the Management REST API directly, it's easier to use the Azure CLI `az rest` module to send Management REST API calls from a command line. This article uses the Azure CLI with REST to set up the private link.
2020

2121
> [!NOTE]
22-
> This article relies on Azure portal for obtaining properties and confirming steps. However, when creating the shared private link for SQL Managed Instance, be sure to use the REST API. Although the Networking tab lists `Microsoft.Sql/managedInstances` as an option, the portal doesn't currently support the extended URL format used by SQL Managed Instance.
22+
> This article refers to Azure portal for obtaining properties and confirming steps. However, when creating the shared private link for SQL Managed Instance, make sure you're using the REST API. Although the Networking tab lists `Microsoft.Sql/managedInstances` as an option, the portal doesn't currently support the extended URL format used by SQL Managed Instance.
2323
2424
## Prerequisites
2525

2626
+ [Azure CLI](/cli/azure/install-azure-cli)
2727

2828
+ Azure Cognitive Search, Basic or higher. If you're using [AI enrichment](cognitive-search-concept-intro.md) and skillsets, use Standard 2 (S2) or higher. See [Service limits](search-limits-quotas-capacity.md#shared-private-link-resource-limits) for details.
2929

30-
+ Azure SQL Managed Instance, configured to run in a virtual network, with a private endpoint created through Azure Private Link.
30+
+ Azure SQL Managed Instance, configured to run in a virtual network.
3131

3232
+ You should have a minimum of Contributor permissions on both Azure Cognitive Search and SQL Managed Instance.
3333

34-
## 1 - Private endpoint verification
35-
36-
Check whether the managed instance has a private endpoint.
37-
38-
1. [Sign in to Azure portal](https://portal.azure.com/).
39-
40-
1. Type "private link" in the top search bar, and then select **Private Link** to open the Private Link Center.
41-
42-
1. Select **Private endpoints** to view existing endpoints. You should see your SQL Managed Instance in this list.
34+
> [!NOTE]
35+
> Azure Private Link is used internally, at no charge, to set up the shared private link.
4336
44-
## 2 - Retrieve connection information
37+
## 1 - Retrieve connection information
4538

4639
Retrieve the FQDN of the managed instance, including the DNS zone. The DNS zone is part of the domain name of the SQL Managed Instance. For example, if the FQDN of the SQL Managed Instance is `my-sql-managed-instance.a1b22c333d44.database.windows.net`, the DNS zone is `a1b22c333d44`.
4740

@@ -53,7 +46,7 @@ Retrieve the FQDN of the managed instance, including the DNS zone. The DNS zone
5346

5447
For more information about connection properties, see [Create an Azure SQL Managed Instance](/azure/azure-sql/managed-instance/instance-create-quickstart?view=azuresql#retrieve-connection-details-to-sql-managed-instance&preserve-view=true).
5548

56-
## 3 - Create the body of the request
49+
## 2 - Create the body of the request
5750

5851
1. Using a text editor, create the JSON for the shared private link.
5952

@@ -79,7 +72,7 @@ For more information about connection properties, see [Create an Azure SQL Manag
7972

8073
1. In the Azure CLI, type `dir` to note the current location of the file.
8174

82-
## 4 - Create a shared private link
75+
## 3 - Create a shared private link
8376

8477
1. From the command line, sign into Azure using `az login`.
8578

@@ -89,7 +82,7 @@ For more information about connection properties, see [Create an Azure SQL Manag
8982

9083
1. Call the `az rest` command to use the [Management REST API](/rest/api/searchmanagement/2021-04-01-preview/shared-private-link-resources/create-or-update) of Azure Cognitive Search.
9184

92-
Because shared private link support for SQL managed instances is still in preview, you need a preview version of the REST API. You can use either `2021-04-01-preview` or `2020-08-01-preview`.
85+
Because shared private link support for SQL managed instances is still in preview, you need a preview version of the REST API. Use `2021-04-01-preview` for this step`.
9386

9487
```azurecli
9588
az rest --method put --uri https://management.azure.com/subscriptions/{{search-service-subscription-ID}}/resourceGroups/{{search service-resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/sharedPrivateLinkResources/{{shared-private-link-name}}?api-version=2021-04-01-preview --body @create-pe.json
@@ -105,7 +98,7 @@ For more information about connection properties, see [Create an Azure SQL Manag
10598

10699
When you complete these steps, you should have a shared private link that's provisioned in a pending state. **It takes several minutes to create the link**. Once it's created, the resource owner needs to approve the request before it's operational.
107100

108-
## 5 - Approve the private endpoint connection
101+
## 4 - Approve the private endpoint connection
109102

110103
On the SQL Managed Instance side, the resource owner must approve the private connection request you created.
111104

@@ -117,13 +110,13 @@ On the SQL Managed Instance side, the resource owner must approve the private co
117110

118111
After the private endpoint is approved, Azure Cognitive Search creates the necessary DNS zone mappings in the DNS zone that's created for it.
119112

120-
## 6 - Check shared private link status
113+
## 5 - Check shared private link status
121114

122115
On the Azure Cognitive Search side, you can confirm request approval by revisiting the Shared Private Access tab of the search service **Networking** page. Connection state should be approved.
123116

124117
![Screenshot of the Azure portal, showing an "Approved" shared private link resource.](media\search-indexer-howto-secure-access\new-shared-private-link-resource-approved.png)
125118

126-
## 7 - Configure the indexer to run in the private environment
119+
## 6 - Configure the indexer to run in the private environment
127120

128121
You can now configure an indexer and its data source to use an outbound private connection to your managed instance.
129122

@@ -158,7 +151,7 @@ This article assumes Postman or equivalent tool, and uses the REST APIs to make
158151
```
159152
160153
> [!NOTE]
161-
> If you're familiar with data source definitions in Cognitive Search, you'll notice that data source properties don't vary when using a shared private link. That's because the private connection is detected and handled internally.
154+
> If you're familiar with data source definitions in Cognitive Search, you'll notice that data source properties don't vary when using a shared private link. That's because Search will always use a shared private link on the connection if one exists.
162155
163156
1. [Create the indexer definition](search-howto-create-indexers.md), setting the indexer execution environment to "private".
164157
@@ -187,15 +180,15 @@ You can monitor the status of the indexer in Azure portal or by using the [Index
187180
188181
You can use [**Search explorer**](search-explorer.md) in Azure portal to check the contents of the index.
189182
190-
## 8 - Test the shared private link
183+
## 7 - Test the shared private link
191184
192185
If you ran the indexer in the previous step and successfully indexed content from your managed instance, then the test was successful. However, if the indexer fails or there's no content in the index, you can modify your objects and repeat testing by choosing any client that can invoke an outbound request from an indexer.
193186
194187
An easy choice is [running an indexer](search-howto-run-reset-indexers.md) in Azure portal, but you can also try Postman and REST APIs for more precision. Assuming that your search service isn't also configured for a private connection, the REST client connection to Search can be over the public internet.
195188
196189
Here are some reminders for testing:
197190
198-
+ If you use Postman or another web testing tool, use the [Management REST API](/rest/api/searchmanagement/) and a [preview API version](/rest/api/searchmanagement/management-api-versions) to create the shared private link. Use the [Search REST API](/rest/api/searchservice/) and a [stable API version](/rest/api/searchservice/search-service-api-versions) to create and invoke indexers and data sources.
191+
+ If you use Postman or another web testing tool, use the [Management REST API](/rest/api/searchmanagement/) and the [2021-04-01-Preview API version](/rest/api/searchmanagement/management-api-versions) to create the shared private link. Use the [Search REST API](/rest/api/searchservice/) and a [stable API version](/rest/api/searchservice/search-service-api-versions) to create and invoke indexers and data sources.
199192
200193
+ You can use the Import data wizard to create an indexer, data source, and index. However, the generated indexer won't have the correct execution environment setting.
201194

articles/search/search-indexer-howto-access-private.md

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,17 @@ ms.author: arjagann
99
ms.service: cognitive-search
1010
ms.custom: ignite-2022
1111
ms.topic: how-to
12-
ms.date: 02/22/2023
12+
ms.date: 04/18/2023
1313
---
1414

15-
# Make outbound connections through a private endpoint
15+
# Make outbound connections through a private link
1616

17-
If you have an Azure PaaS resource that has a private connection enabled through [Azure Private Link](../private-link/private-link-overview.md), you'll need to create a *shared private link* to reach those resources from Azure Cognitive Search. This article walks you through the steps for creating, testing, and managing a private link.
17+
This article explains how to configure private, outbound calls from Azure Cognitive Search to Azure PaaS resources that run within a virtual network.
1818

19-
If you're setting up a private connection to a SQL Managed Instance, see [this article](search-indexer-how-to-access-private-sql.md) instead.
19+
Setting up a private connection allows Azure Cognitive Search to connect to Azure PaaS through a virtual network IP address instead of a port that's open to the internet. The object created for the connection is called a *shared private link*. On the connection, Search uses the shared private link internally to reach an Azure PaaS resource inside the network boundary.
20+
21+
> [!NOTE]
22+
> If you're setting up a private indexer connection to a SQL Managed Instance, see [this article](search-indexer-how-to-access-private-sql.md) instead.
2023
2124
## When to use a shared private link
2225

@@ -27,7 +30,7 @@ Cognitive Search makes outbound calls to other Azure PaaS resources in the follo
2730
+ Encryption key requests to Azure Key Vault
2831
+ Custom skill requests to Azure Functions or similar resource
2932

30-
For those service-to-service communication scenarios, Search typically sends a request over a public internet connection. However, if your data, key vault, or function is accessed through a [private endpoint](../private-link/private-endpoint-overview.md), then your search service needs a way to reach that endpoint. The mechanism by which a search service connects to a private endpoint is called a *shared private link*.
33+
In service-to-service communications, Search typically sends a request over a public internet connection. However, if your data, key vault, or function should be accessed through a [private endpoint](../private-link/private-endpoint-overview.md), you can create a *shared private link*.
3134

3235
A shared private link is:
3336

@@ -54,10 +57,13 @@ When evaluating shared private links for your scenario, remember these constrain
5457

5558
+ An Azure Cognitive Search at the Basic tier or higher. If you're using [AI enrichment](cognitive-search-concept-intro.md) and skillsets, the tier must be Standard 2 (S2) or higher. See [Service limits](search-limits-quotas-capacity.md#shared-private-link-resource-limits) for details.
5659

57-
+ An Azure PaaS resource from the following list of supported resource types, configured to run in a virtual network, with a private endpoint created through Azure Private Link.
60+
+ An Azure PaaS resource from the following list of supported resource types, configured to run in a virtual network.
5861

5962
+ You should have a minimum of Contributor permissions on both Azure Cognitive Search and the Azure PaaS resource for which you're creating the shared private link.
6063

64+
> [!NOTE]
65+
> Azure Private Link is used internally, at no charge, to set up the shared private link.
66+
6167
<a name="group-ids"></a>
6268

6369
### Supported resource types
@@ -82,22 +88,6 @@ You can create a shared private link for the following resources.
8288

8389
<sup>4</sup> See [Create a shared private link for a SQL Managed Instance](search-indexer-how-to-access-private-sql.md) for instructions.
8490

85-
### Private endpoint verification
86-
87-
1. Sign in to [Azure portal](https://portal.azure.com/).
88-
89-
1. Type "private link" in the top search bar, and then select **Private Link** to open the Private Link Center.
90-
91-
1. Select **Private endpoints** to view existing endpoints. The Azure PaaS resource for which you're creating a shared private link must have a private endpoint in this list. See [Manage private endpoint connections](../private-link/manage-private-endpoint.md?tabs=manage-private-link-powershell#manage-private-endpoint-connections-on-azure-paas-resources) for details.
92-
93-
These Private Link tutorials provide steps for creating a private endpoint for Azure PaaS:
94-
95-
+ [Tutorial: Connect to a storage account using an Azure Private Endpoint](../private-link/tutorial-private-endpoint-storage-portal.md)
96-
97-
+ [Tutorial: Connect to an Azure Cosmos DB account using an Azure Private Endpoint](../private-link/tutorial-private-endpoint-cosmosdb-portal.md)
98-
99-
+ [Tutorial: Connect to a web app using an Azure Private Endpoint](../private-link/tutorial-private-endpoint-webapp-portal.md)
100-
10191
## 1 - Create a shared private link
10292

10393
Use the Azure portal, Management REST API, the Azure CLI, or Azure PowerShell to create a shared private link.
@@ -106,9 +96,7 @@ Here are a few tips:
10696

10797
+ Give the private link a meaningful name. In the Azure PaaS resource, a shared private link appears alongside other private endpoints. A name like "shared-private-link-for-search" can remind you how it's used.
10898

109-
+ Don't skip the [private link verification](#private-endpoint-verification) step. It's possible to create a shared private link for an Azure PaaS resource that doesn't have a private endpoint. The link won't work if the resource isn't registered.
110-
111-
When you complete these steps, you have a shared private link that's provisioned in a pending state. **It takes several minutes to create the link**. Once it's created, the resource owner needs to approve the request before it's operational.
99+
When you complete the steps in this section, you have a shared private link that's provisioned in a pending state. **It takes several minutes to create the link**. Once it's created, the resource owner needs to approve the request before it's operational.
112100

113101
### [**Azure portal**](#tab/portal-create)
114102

0 commit comments

Comments
 (0)