Skip to content

Commit 0d5f438

Browse files
Merge pull request #274298 from HeidiSteen/heidist-bug
[azure search] more updates to REST API migration
2 parents a74a5b2 + 28c018a commit 0d5f438

File tree

4 files changed

+42
-37
lines changed

4 files changed

+42
-37
lines changed

articles/search/search-api-migration.md

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -48,40 +48,45 @@ Effective March 29, 2024 and applies to all [supported REST APIs](/rest/api/sear
4848

4949
## Upgrade to 2023-10-01-preview
5050

51-
This section explains the migration path from 2023-07-01-preview to 2023-10-01-preview. You should migrate to 2023-10-01 if you want to continue using vector features that are still in public preview. If you don't need the preview features, we recommend upgrading to the stable release, 2023-11-01.
51+
This section explains the migration path from 2023-07-01-preview to 2023-10-01-preview. You should migrate to 2023-10-01-preview if you want to use vector features that are still in public preview. If you don't need the preview features, we recommend upgrading to the stable release, 2023-11-01.
5252

5353
Preview features include:
5454

5555
+ [built-in text-to-vector indexing](search-get-started-portal-import-vectors.md)
5656
+ [built-in text-to-vector queries](vector-search-how-to-configure-vectorizer.md)
57-
+ [vector prefilter mode](vector-search-filters.md).
57+
+ [vector prefilter mode](vector-search-filters.md)
5858

59-
Because these features are new in 2023-10-01-preview, there's no migration path and you should add these capabilities to your code if you want to use them. To learn more about the preview features, see [code samples](https://github.com/Azure/azure-search-vector-samples) and [walkthroughs](vector-search-how-to-configure-vectorizer.md).
59+
Because these features didn't exist in previous API versions, there's no migration path. To learn how to add these features to your code, see [code samples](https://github.com/Azure/azure-search-vector-samples) and [walkthroughs](vector-search-how-to-configure-vectorizer.md).
6060

61-
In contrast, the vector field definitions, vector search algorithm configuration, and vector query syntax that were first introduced in 2023-07-01-preview have changed. The 2023-10-01-preview syntax for vector fields, algorithms, and vector queries is identical to the 2023-11-01 syntax. Migration steps for vectors are explained in [upgrade to 2023-11-01](#upgrade-to-2023-11-01).
61+
In contrast, the vector field definitions, vector search algorithm configuration, and vector query syntax that were first introduced in 2023-07-01-preview have changed. The 2023-10-01-preview syntax for vector fields, algorithms, and vector queries is identical to the 2023-11-01 syntax. Migration steps for these vector constructs are explained in [upgrade to 2023-11-01](#upgrade-to-2023-11-01).
6262

63-
## Upgrade to 2023-11-01
63+
### Portal upgrade for vector indexes
6464

65-
This version has breaking changes and behavioral differences for semantic ranking and vector search support.
65+
Azure portal supports a one-click upgrade path for 2023-07-01-preview indexes. The portal detects 2023-07-01-preview vector fields and provides a **Migrate** button.
6666

67-
+ [Semantic ranking](semantic-search-overview.md) is generally available and no longer uses the `queryLanguage` property. It also requires a `semanticConfiguration` definition.
67+
+ Migration path is from 2023-07-01-preview to 2023-10-01-preview.
68+
+ Updates are limited to vector field definitions and vector search algorithm configurations.
69+
+ Updates are one-way. You can't reverse the upgrade. Once the index is upgraded, you must use 2023-10-01-preview or later to query the index.
6870

69-
To upgrade from 2020-06-30-preview, create a `semanticConfiguration` to replace `searchFields`. See [Migrate from preview version](semantic-how-to-configure.md#migrate-from-preview-versions) for steps.
71+
There's no portal migration for upgrading vector query syntax. See [upgrade to 2023-11-01](#upgrade-to-2023-11-01) for query syntax changes.
7072

71-
+ [Vector search](vector-search-overview.md) support was introduced in [Create or Update Index (2023-07-01-preview)](/rest/api/searchservice/preview-api/create-or-update-index).
73+
Before selecting **Migrate**, select **Edit JSON** to review the updated schema first. You should find a schema that conforms to the changes described in [upgrade to 2023-11-01](#upgrade-to-2023-11-01). Portal migration only handles indexes with one vector search algorithm configuration. It creates a default profile that maps to the 2023-07-01-preview vector search algorithm. Indexes with multiple vector search configurations require manual migration.
7274

73-
To upgrade from 2023-07-01-preview, rename and restructure the vector configuration in the index, and rewrite your vector query syntax using the instructions in this section.
75+
## Upgrade to 2023-11-01
76+
77+
This version has breaking changes and behavioral differences for semantic ranking and vector search support.
7478

75-
To upgrade from 2023-10-01-preview, there are no breaking changes, but there's one behavior difference: the `vectorFilterMode` default changed from postfilter to prefilter for [filter expressions](vector-search-filters.md). If your 2023-10-01-preview code doesn't set `vectorFilterMode` explicitly, make sure you understand the new behavior, or set the mode to postfilter to retain the old behavior.
79+
+ [Semantic ranking](semantic-search-overview.md) is generally available in 2023-11-01. It no longer uses the `queryLanguage` property. It also requires a `semanticConfiguration` definition. A `semanticConfiguration` replaces `searchFields` in previous versions. See [Migrate from preview version](semantic-how-to-configure.md#migrate-from-preview-versions) for steps.
7680

77-
> [!TIP]
78-
> Azure portal supports a one-click upgrade path for 2023-07-01-preview indexes. The portal detects 2023-07-01-preview indexes and provides a **Migrate** button. Before selecting **Migrate**, select **Edit JSON** to review the updated schema first. You should find a schema that conforms to the changes described in this section. Portal migration only handles indexes with one vector search algorithm configuration, creating a default profile that maps to the algorithm. Indexes with multiple configurations require manual migration.
81+
+ [Vector search](vector-search-overview.md) support was introduced in [Create or Update Index (2023-07-01-preview)](/rest/api/searchservice/preview-api/create-or-update-index). Upgrading from 2023-07-01-preview requires renaming and restructuring the vector configuration in the index. It also requires rewriting your vector queries. Use the instructions in this section to migrate vector fields, configuration, and queries.
7982

80-
Here are the steps for migrating from 2023-07-01-preview:
83+
If you're upgrading from 2023-10-01-preview to 2023-11-01, there are no breaking changes, but there's one behavior difference: the `vectorFilterMode` default changed from postfilter to prefilter for [filter expressions](vector-search-filters.md). If your 2023-10-01-preview code doesn't set `vectorFilterMode` explicitly, make sure you understand the new default behavior, or explicity set `vectorFilterMode` to postfilter to retain the old behavior.
84+
85+
Here are the steps for migrating from 2023-07-01-preview to 2023-11-01:
8186

8287
1. Call [Get Index](/rest/api/searchservice/indexes/get?view=rest-searchservice-2023-11-01&tabs=HTTP&preserve-view=true) to retrieve the existing definition.
8388

84-
1. Modify the vector search configuration. This API introduces the concept of *vector profiles* that bundle vector-related configurations under one name. It also renames `algorithmConfigurations` to `algorithms`.
89+
1. Modify the vector search configuration. 2023-11-01 introduces the concept of *vector profiles* that bundle vector-related configurations under one name. It also renames `algorithmConfigurations` to `algorithms`.
8590

8691
+ Rename `algorithmConfigurations` to `algorithms`. This is only a renaming of the array. The contents are backwards compatible. This means your existing HNSW configuration parameters can be used.
8792

@@ -109,12 +114,6 @@ Here are the steps for migrating from 2023-07-01-preview:
109114
110115
```http
111116
"vectorSearch": {
112-
"profiles": [
113-
{
114-
"name": "myHnswProfile",
115-
"algorithm": "myHnswConfig"
116-
}
117-
],
118117
"algorithms": [
119118
{
120119
"name": "myHnswConfig",
@@ -126,6 +125,12 @@ Here are the steps for migrating from 2023-07-01-preview:
126125
"metric": "cosine"
127126
}
128127
}
128+
],
129+
"profiles": [
130+
{
131+
"name": "myHnswProfile",
132+
"algorithm": "myHnswConfig"
133+
}
129134
]
130135
}
131136
```
@@ -180,7 +185,7 @@ Here are the steps for migrating from 2023-07-01-preview:
180185
1. Modify [Search POST](/rest/api/searchservice/documents/search-post?view=rest-searchservice-2023-11-01&tabs=HTTP&preserve-view=true) to change the query syntax. This API change enables support for polymorphic vector query types.
181186
182187
+ Rename `vectors` to `vectorQueries`.
183-
+ For each vector query, add `kind`, setting it to "vector".
188+
+ For each vector query, add `kind`, setting it to `vector`.
184189
+ For each vector query, rename `value` to `vector`.
185190
+ Optionally, add `vectorFilterMode` if you're using [filter expressions](vector-search-filters.md). The default is prefilter for indexes created after 2023-10-01. Indexes created before that date only support postfilter, regardless of how you set the filter mode.
186191
@@ -240,7 +245,7 @@ In this version, there's one breaking change and several behavioral differences.
240245
241246
### Breaking change
242247
243-
Code written against earlier API versions breaks on 2020-06-30 and later if code contains the following functionality:
248+
Code written against earlier API versions breaks on `2020-06-30` and later if code contains the following functionality:
244249
245250
+ Any `Edm.Date` literals (a date composed of year-month-day, such as `2020-12-12`) in filter expressions must follow the `Edm.DateTimeOffset` format: `2020-12-12T00:00:00Z`. This change was necessary to handle erroneous or unexpected query results due to timezone differences.
246251
@@ -261,23 +266,23 @@ Features that became generally available in this API version include:
261266
262267
### Breaking changes
263268
264-
Code written against an earlier API version breaks on 2019-05-06 and later if it contains the following functionality:
269+
Code written against an earlier API version breaks on `2019-05-06` and later if it contains the following functionality:
265270
266271
1. Type property for Azure Cosmos DB. For indexers targeting an [Azure Cosmos DB for NoSQL API](search-howto-index-cosmosdb.md) data source, change `"type": "documentdb"` to `"type": "cosmosdb"`.
267272
268273
1. If your indexer error handling includes references to the `status` property, you should remove it. We removed status from the error response because it wasn't providing useful information.
269274
270-
1. Data source connection strings are no longer returned in the response. From API versions 2019-05-06 and 2019-05-06-Preview onwards, the data source API no longer returns connection strings in the response of any REST operation. In previous API versions, for data sources created using POST, Azure AI Search returned **201** followed by the OData response, which contained the connection string in plain text.
275+
1. Data source connection strings are no longer returned in the response. From API versions `2019-05-06` and `2019-05-06-Preview` onwards, the data source API no longer returns connection strings in the response of any REST operation. In previous API versions, for data sources created using POST, Azure AI Search returned **201** followed by the OData response, which contained the connection string in plain text.
271276
272277
1. Named Entity Recognition cognitive skill is retired. If you called the [Name Entity Recognition](cognitive-search-skill-named-entity-recognition.md) skill in your code, the call fails. Replacement functionality is [Entity Recognition Skill (V3)](cognitive-search-skill-entity-recognition-v3.md). Follow the recommendations in [Deprecated skills](cognitive-search-skill-deprecated.md) to migrate to a supported skill.
273278
274279
### Upgrading complex types
275280
276-
API version 2019-05-06 added formal support for complex types. If your code implemented previous recommendations for complex type equivalency in 2017-11-11-Preview or 2016-09-01-Preview, there are some new and changed limits starting in version 2019-05-06 of which you need to be aware:
281+
API version `2019-05-06` added formal support for complex types. If your code implemented previous recommendations for complex type equivalency in 2017-11-11-Preview or 2016-09-01-Preview, there are some new and changed limits starting in version `2019-05-06` of which you need to be aware:
277282
278-
+ The limits on the depth of subfields and the number of complex collections per index have been lowered. If you created indexes that exceed these limits using the preview api-versions, any attempt to update or recreate them using API version 2019-05-06 will fail. If you find yourself in this situation, you need to redesign your schema to fit within the new limits and then rebuild your index.
283+
+ The limits on the depth of subfields and the number of complex collections per index have been lowered. If you created indexes that exceed these limits using the preview api-versions, any attempt to update or recreate them using API version `2019-05-06` will fail. If you find yourself in this situation, you need to redesign your schema to fit within the new limits and then rebuild your index.
279284
280-
+ There's a new limit starting in api-version 2019-05-06 on the number of elements of complex collections per document. If you created indexes with documents that exceed these limits using the preview api-versions, any attempt to reindex that data using api-version 2019-05-06 will fail. If you find yourself in this situation, you need to reduce the number of complex collection elements per document before reindexing your data.
285+
+ There's a new limit starting in api-version `2019-05-06` on the number of elements of complex collections per document. If you created indexes with documents that exceed these limits using the preview api-versions, any attempt to reindex that data using api-version `2019-05-06` will fail. If you find yourself in this situation, you need to reduce the number of complex collection elements per document before reindexing your data.
281286
282287
For more information, see [Service limits for Azure AI Search](search-limits-quotas-capacity.md).
283288
@@ -318,13 +323,13 @@ If your code is using complex types with one of the older preview API versions,
318323
}
319324
```
320325

321-
A newer tree-like format for defining index fields was introduced in API version 2017-11-11-Preview. In the new format, each complex field has a fields collection where its subfields are defined. In API version 2019-05-06, this new format is used exclusively and attempting to create or update an index using the old format will fail. If you have indexes created using the old format, you'll need to use API version 2017-11-11-Preview to update them to the new format before they can be managed using API version 2019-05-06.
326+
A newer tree-like format for defining index fields was introduced in API version `2017-11-11-Preview`. In the new format, each complex field has a fields collection where its subfields are defined. In API version 2019-05-06, this new format is used exclusively and attempting to create or update an index using the old format will fail. If you have indexes created using the old format, you'll need to use API version `2017-11-11-Preview` to update them to the new format before they can be managed using API version 2019-05-06.
322327

323-
You can update "flat" indexes to the new format with the following steps using API version 2017-11-11-Preview:
328+
You can update flat indexes to the new format with the following steps using API version `2017-11-11-Preview`:
324329

325330
1. Perform a GET request to retrieve your index. If it’s already in the new format, you’re done.
326331

327-
1. Translate the index from the flat format to the new format. You have to write code for this task since there's no sample code available at the time of this writing.
332+
1. Translate the index from the flat format to the new format. You have to write code for this task since there's no sample code available at the time of this writing.
328333

329334
1. Perform a PUT request to update the index to the new format. Avoid changing any other details of the index, such as the searchability/filterability of fields, because changes that affect the physical expression of existing index isn't allowed by the Update Index API.
330335

articles/search/search-blob-storage-integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: cognitive-search
1010
ms.custom:
1111
- ignite-2023
1212
ms.topic: conceptual
13-
ms.date: 02/15/2024
13+
ms.date: 05/04/2024
1414
---
1515

1616
# Search over Azure Blob Storage content
@@ -78,7 +78,7 @@ The Azure blob indexer comes with configuration parameters and supports change t
7878

7979
### Supported access tiers
8080

81-
Blob storage [access tiers](../storage/blobs/access-tiers-overview.md) include hot, cool, and archive. Only hot and cool can be accessed by indexers.
81+
Blob storage [access tiers](../storage/blobs/access-tiers-overview.md) include hot, cool, cold, and archive. Indexers can retrieve blobs on hot, cool, and cold access tiers.
8282

8383
### Supported content types
8484

articles/search/search-howto-indexing-azure-blob-storage.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: cognitive-search
1010
ms.custom:
1111
- ignite-2023
1212
ms.topic: how-to
13-
ms.date: 03/18/2024
13+
ms.date: 05/04/2024
1414
---
1515

1616
# Index data from Azure Blob Storage
@@ -25,7 +25,7 @@ Blob indexers are frequently used for both [AI enrichment](cognitive-search-conc
2525

2626
+ [Azure Blob Storage](../storage/blobs/storage-blobs-overview.md), Standard performance (general-purpose v2).
2727

28-
+ [Access tiers](../storage/blobs/access-tiers-overview.md) for Blob Storage include Hot, Cool, and Archive. Only Hot and Cool can be accessed by search indexers.
28+
+ [Access tiers](../storage/blobs/access-tiers-overview.md) include hot, cool, cold, and archive. Indexers can retrieve blobs on hot, cool, and cold access tiers.
2929

3030
+ Blobs providing text content and metadata. If blobs contain binary content or unstructured text, consider adding [AI enrichment](cognitive-search-concept-intro.md) for image and natural language processing. Blob content can’t exceed the [indexer limits](search-limits-quotas-capacity.md#indexer-limits) for your search service tier.
3131

articles/search/service-create-private-endpoint.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Create a Private Endpoint for a secure connection
2+
title: Create a private endpoint for a secure connection
33
titleSuffix: Azure AI Search
44
description: Set up a private endpoint in a virtual network for a secure connection to an Azure AI Search service.
55
author: HeidiSteen
@@ -12,7 +12,7 @@ ms.topic: conceptual
1212
ms.date: 04/03/2024
1313
---
1414

15-
# Create a Private Endpoint for a secure connection to Azure AI Search
15+
# Create a private endpoint for a secure connection to Azure AI Search
1616

1717
In this article, learn how to configure a private connection to Azure AI Search so that it admits requests from clients in a virtual network instead of over a public internet connection:
1818

0 commit comments

Comments
 (0)