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
Before continuing with this article, you need an Azure AI Search resource to work with. If you don't have a resource, [create your resource](search-create-service-portal.md) now. [Enable role-based access control (RBAC)](search-security-enable-roles.md) for the resource.
34
-
35
-
### Install Azure Identity client library
31
+
## Install Azure Identity client library
36
32
37
33
To use a keyless approach, update your AI Search enabled code with the Azure Identity client library.
38
34
39
-
####[.NET](#tab/csharp)
35
+
### [.NET](#tab/csharp)
40
36
41
37
Install the [Azure Identity client library for .NET](https://www.nuget.org/packages/Azure.Identity):
42
38
43
39
```dotnetcli
44
40
dotnet add package Azure.Identity
45
41
```
46
42
47
-
####[Java](#tab/java)
43
+
### [Java](#tab/java)
48
44
49
45
Install the [Azure Identity client library for Java](https://mvnrepository.com/artifact/com.azure/azure-identity) with the following POM file:
50
46
@@ -60,15 +56,15 @@ Install the [Azure Identity client library for Java](https://mvnrepository.com/a
60
56
</dependencyManagement>
61
57
```
62
58
63
-
####[JavaScript](#tab/javascript)
59
+
### [JavaScript](#tab/javascript)
64
60
65
61
Install the [Azure Identity client library for JavaScript](https://www.npmjs.com/package/@azure/identity):
66
62
67
63
```console
68
64
npm install --save @azure/identity
69
65
```
70
66
71
-
####[Python](#tab/python)
67
+
### [Python](#tab/python)
72
68
73
69
Install the [Azure Identity client library for Python](https://pypi.org/project/azure-identity/):
74
70
@@ -82,7 +78,7 @@ pip install azure-identity
82
78
83
79
The Azure Identity library's `DefaultAzureCredential` allows you to run the same code in the local development environment and in the Azure cloud. Create a single credential and reuse the credential instance as needed to take advantage of token caching.
84
80
85
-
####[.NET](#tab/csharp)
81
+
### [.NET](#tab/csharp)
86
82
87
83
For more information on `DefaultAzureCredential` for .NET, see [Azure Identity client library for .NET](/dotnet/api/overview/azure/identity-readme#defaultazurecredential).
For more information on `DefaultAzureCredential` for Java, see [Azure Identity client library for Java](/java/api/overview/azure/identity-readme#defaultazurecredential).
110
106
@@ -148,7 +144,7 @@ SearchIndexAsyncClient searchIndexAsyncClient = new SearchIndexClientBuilder()
148
144
.buildAsyncClient();
149
145
```
150
146
151
-
####[JavaScript](#tab/javascript)
147
+
### [JavaScript](#tab/javascript)
152
148
153
149
For more information on `DefaultAzureCredential` for JavaScript, see [Azure Identity client library for JavaScript](/javascript/api/overview/azure/identity-readme#defaultazurecredential).
154
150
@@ -178,7 +174,7 @@ const indexClient = new SearchIndexClient(
178
174
);
179
175
```
180
176
181
-
####[Python](#tab/python)
177
+
### [Python](#tab/python)
182
178
183
179
For more information on `DefaultAzureCredential` for Python, see [Azure Identity client library for Python](/python/api/overview/azure/identity-readme#defaultazurecredential).
Copy file name to clipboardExpand all lines: articles/search/knowledge-store-projection-overview.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Projection concepts
3
3
titleSuffix: Azure AI Search
4
-
description: Introduces projection concepts and best practices. If you are creating a knowledge store in Azure AI Search, projections determine the type, quantity, and composition of objects in Azure Storage.
4
+
description: Introduces projection concepts and best practices. If you're creating a knowledge store in Azure AI Search, projections determine the type, quantity, and composition of objects in Azure Storage.
5
5
6
6
manager: nitinme
7
7
author: HeidiSteen
@@ -10,7 +10,7 @@ ms.service: azure-ai-search
10
10
ms.custom:
11
11
- ignite-2023
12
12
ms.topic: conceptual
13
-
ms.date: 12/10/2024
13
+
ms.date: 06/17/2025
14
14
---
15
15
16
16
# Knowledge store "projections" in Azure AI Search
Copy file name to clipboardExpand all lines: articles/search/knowledge-store-projection-shape.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ ms.service: azure-ai-search
8
8
ms.custom:
9
9
- ignite-2023
10
10
ms.topic: conceptual
11
-
ms.date: 12/10/2024
11
+
ms.date: 06/17/2025
12
12
---
13
13
14
14
# Shaping data for projection into a knowledge store
@@ -21,9 +21,9 @@ By itself, the enrichment tree doesn't include logic that would inform how its c
21
21
22
22
## Approaches for creating shapes
23
23
24
-
There are two ways to shape enriched content to that it can be projected into a knowledge store:
24
+
There are two ways to shape enriched content so that it can be projected into a knowledge store:
25
25
26
-
+ Use the [Shaper skill](cognitive-search-skill-shaper.md) to create nodes in an enrichment tree that are used expressly for projection. Most skills create new content. In contrast, a Shaper skill work with existing nodes, usually to consolidate multiple nodes into a single complex object. This is useful for tables, where you want the output of multiple nodes to be physically expressed as columns in the table.
26
+
+ Use the [Shaper skill](cognitive-search-skill-shaper.md) to create nodes in an enrichment tree that are used expressly for projection. Most skills create new content. In contrast, a Shaper skill works with existing nodes, usually to consolidate multiple nodes into a single complex object. This is useful for tables, where you want the output of multiple nodes to be physically expressed as columns in the table.
27
27
28
28
+ Use an inline shape within the projection definition itself.
29
29
@@ -111,11 +111,11 @@ Within a Shaper skill, an input can have a `sourceContext` element. This same pr
111
111
112
112
`sourceContext` is used to construct multi-level, nested objects in an enrichment pipeline. If the input is at a *different* context than the skill context, use the *sourceContext*. The *sourceContext* requires you to define a nested input with the specific element being addressed as the source.
113
113
114
-
In the example above, sentiment analysis and key phrases extraction was performed on text that was split into pages for more efficient analysis. Assuming you want the scores and phrases projected into a table, you'll now need to set the context to nested input that provides the score and phrase.
114
+
In the previous example, sentiment analysis and key phrases extraction was performed on text that was split into pages for more efficient analysis. Assuming you want the scores and phrases projected into a table, you'll now need to set the context to nested input that provides the score and phrase.
115
115
116
116
### Projecting a shape into multiple tables
117
117
118
-
With the `tableprojection` node defined in the `outputs`section above, you can slice parts of the `tableprojection` node into individual, related tables:
118
+
With the `tableprojection` node defined in the `outputs`in the previous section, you can slice parts of the `tableprojection` node into individual, related tables:
119
119
120
120
```json
121
121
"projections": [
@@ -145,8 +145,8 @@ With the `tableprojection` node defined in the `outputs` section above, you can
145
145
146
146
Inline shaping is the ability to form new shapes within the projection definition itself. Inline shaping has these characteristics:
147
147
148
-
+ The shape can be used only by the projection that contains it.
149
-
+ The shape can be identical to what a Shaper skill would produce.
148
+
+ The shape is used only by the projection that contains it.
149
+
+ The shape can be identical to what a Shaper skill produces.
150
150
151
151
An inline shape is created using `sourceContext` and `inputs`.
0 commit comments