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/cognitive-search-tutorial-debug-sessions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Before you begin, have the following prerequisites in place:
30
30
31
31
+ Azure Storage account with [Blob storage](../storage/blobs/index.yml), used for hosting sample data, and for persisting cached data created during a debug session.
32
32
33
-
+[Postman desktop app](https://www.getpostman.com/) and a [Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Debug-sessions) to create objects using the REST APIs.
33
+
+[Postman app](https://www.postman.com/downloads/) and a [Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Debug-sessions) to create objects using the REST APIs.
Copy file name to clipboardExpand all lines: articles/search/knowledge-store-projection-example-long.md
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,13 +19,13 @@ If your application requirements call for multiple skills and projections, this
19
19
20
20
## Download sample definitions
21
21
22
-
This example uses [Postman Desktop application](https://www.postman.com/downloads/) and the [Search REST APIs](/rest/api/searchservice/).
22
+
This example uses [Postman app](https://www.postman.com/downloads/) and the [Search REST APIs](/rest/api/searchservice/).
23
23
24
24
Clone or download [azure-search-postman-samples](https://github.com/Azure-Samples/azure-search-postman-samples) on GitHub and import the [**Projections collection**](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/projections) to step through this example yourself.
25
25
26
26
## Set up sample data
27
27
28
-
Sample documents aren't specifically included with the Projections collection, but the [AI enrichment demo data files](https://github.com/Azure-Samples/azure-search-sample-data/tree/master/ai-enrichment-mixed-media) from the [azure-search-sample-data repo](https://github.com/Azure-Samples/azure-search-sample-data) contain text and images, and will work with the projections described in this example.
28
+
Sample documents aren't included with the Projections collection, but the [AI enrichment demo data files](https://github.com/Azure-Samples/azure-search-sample-data/tree/master/ai-enrichment-mixed-media) from the [azure-search-sample-data repo](https://github.com/Azure-Samples/azure-search-sample-data) contain text and images, and will work with the projections described in this example.
29
29
30
30
Create a blob container in Azure Storage and upload all 14 items.
31
31
@@ -195,7 +195,7 @@ A [Shaper skill](cognitive-search-skill-shaper.md) is a utility for working with
195
195
196
196
In this example, the custom shape combines blob metadata and identified entities and key phrases. The custom shape is called `projectionShape` and is parented under `/document`.
197
197
198
-
One purpose of shaping is to ensure that all enrichment nodes are expressed in well-formed JSON, which is required for projecting into knowledge store. This is especially true when an enrichment tree contains nodes that are not well-formed JSON (for example, when an enrichment is parented to a primitive like a string).
198
+
One purpose of shaping is to ensure that all enrichment nodes are expressed in well-formed JSON, which is required for projecting into knowledge store. This is especially true when an enrichment tree contains nodes that aren't well-formed JSON (for example, when an enrichment is parented to a primitive like a string).
199
199
200
200
Notice the last two nodes, `KeyPhrases` and `Entities`. These are wrapped into a valid JSON object with the `sourceContext`. This is required as `keyphrases` and `entities` are enrichments on primitives and need to be converted to valid JSON before they can be projected.
201
201
@@ -266,7 +266,7 @@ Notice the last two nodes, `KeyPhrases` and `Entities`. These are wrapped into a
266
266
267
267
### Add Shapers to a skillset
268
268
269
-
The example skillset introduced at the start of this article did not include the Shaper skill, but Shaper skills belong in a skillset and are often placed towards the end.
269
+
The example skillset introduced at the start of this article didn't include the Shaper skill, but Shaper skills belong in a skillset and are often placed towards the end.
270
270
271
271
Within a skillset, a Shaper skill might look like this:
272
272
@@ -284,7 +284,7 @@ Within a skillset, a Shaper skill might look like this:
284
284
285
285
## Projecting to tables
286
286
287
-
Drawing on the examples above, there is a known quantity of enrichments and data shapes that can be referenced in table projections. In the tables projection below, three tables are defined by setting the `tableName`, `source` and `generatedKeyName` properties.
287
+
Drawing on the examples above, there's a known quantity of enrichments and data shapes that can be referenced in table projections. In the tables projection below, three tables are defined by setting the `tableName`, `source` and `generatedKeyName` properties.
288
288
289
289
All three of these tables will be related through generated keys and by the shared parent `/document/projectionShape`.
290
290
@@ -327,31 +327,31 @@ You can check projection definitions by following these steps:
327
327
328
328
1. After updating the skillset, run the indexer.
329
329
330
-
You now have a working projection with three tables. [Importing these tables into Power BI](knowledge-store-connect-power-bi.md) should result in Power BI auto-discovering the relationships.
330
+
You now have a working projection with three tables. [Importing these tables into Power BI](knowledge-store-connect-power-bi.md) should result in Power BI discovering the relationships.
331
331
332
332
Before moving on to the next example, let's revisit aspects of the table projection to understand the mechanics of slicing and relating data.
333
333
334
334
### Slicing a table into multiple child tables
335
335
336
336
Slicing is a technique that subdivides a whole consolidated shape into constituent parts. The outcome consists of separate but related tables that you can work with individually.
337
337
338
-
In the example, `projectionShape` is the consolidated shape (or enrichment node). In the projection definition, `projectionShape` is sliced into additional tables, which enables you to pull out parts of the shape, `keyPhrases` and `Entities`. In Power BI, this is useful as multiple entities and keyPhrases are associated with each document, and you will get more insights if you can see entities and keyPhrases as categorized data.
338
+
In the example, `projectionShape` is the consolidated shape (or enrichment node). In the projection definition, `projectionShape` is sliced into additional tables, which enables you to pull out parts of the shape, `keyPhrases` and `Entities`. In Power BI, this is useful as multiple entities and keyPhrases are associated with each document, and you'll get more insights if you can see entities and keyPhrases as categorized data.
339
339
340
340
Slicing implicitly generates a relationship between the parent and child tables, using the `generatedKeyName` in the parent table to create a column with the same name in the child table.
341
341
342
342
### Naming relationships
343
343
344
-
The `generatedKeyName` and `referenceKeyName` properties are used to relate data across tables or even across projection types. Each row in the child table has a property pointing back to the parent. The name of the column or property in the child is the `referenceKeyName` from the parent. When the `referenceKeyName`is not provided, the service defaults it to the `generatedKeyName` from the parent.
344
+
The `generatedKeyName` and `referenceKeyName` properties are used to relate data across tables or even across projection types. Each row in the child table has a property pointing back to the parent. The name of the column or property in the child is the `referenceKeyName` from the parent. When the `referenceKeyName`isn't provided, the service defaults it to the `generatedKeyName` from the parent.
345
345
346
346
Power BI relies on these generated keys to discover relationships within the tables. If you need the column in the child table named differently, set the `referenceKeyName` property on the parent table. One example would be to set the `generatedKeyName` as ID on the tblDocument table and the `referenceKeyName` as DocumentID. This would result in the column in the tblEntities and tblKeyPhrases tables containing the document ID being named DocumentID.
347
347
348
348
## Projecting blob documents
349
349
350
-
Object projections are JSON representations of the enrichment tree that can be sourced from any node. In comparison with table projections, object projections are simpler to define and are used when projecting whole documents. Object projections are limited to a single projection in a container and cannot be sliced.
350
+
Object projections are JSON representations of the enrichment tree that can be sourced from any node. In comparison with table projections, object projections are simpler to define and are used when projecting whole documents. Object projections are limited to a single projection in a container and can't be sliced.
351
351
352
352
To define an object projection, use the `objects` array in the projections property.
353
353
354
-
The source is the path to a node of the enrichment tree that is the root of the projection. Although it is not required, the node path is usually the output of a Shaper skill. This is because most skills do not output valid JSON objects on their own, which means that some form of shaping is necessary. In many cases, the same Shaper skill that creates a table projection can be used to generate an object projection. Alternatively, the source can also be set to a node with [an inline shaping](knowledge-store-projection-shape.md#inline-shape) to provide the structure.
354
+
The source is the path to a node of the enrichment tree that is the root of the projection. Although it isn't required, the node path is usually the output of a Shaper skill. This is because most skills don't output valid JSON objects on their own, which means that some form of shaping is necessary. In many cases, the same Shaper skill that creates a table projection can be used to generate an object projection. Alternatively, the source can also be set to a node with [an inline shaping](knowledge-store-projection-shape.md#inline-shape) to provide the structure.
355
355
356
356
The destination is always a blob container.
357
357
@@ -422,7 +422,7 @@ To define a file projection, use the `files` array in the projections property.
422
422
423
423
The source is always `/document/normalized_images/*`. File projections only act on the `normalized_images` collection. Neither indexers nor a skillset will pass through the original non-normalized image.
424
424
425
-
The destination is always a blob container, with a folder prefix of the base64 encoded value of the document ID. File projections cannot share the same container as object projections and need to be projected into a different container.
425
+
The destination is always a blob container, with a folder prefix of the base64 encoded value of the document ID. File projections can't share the same container as object projections and need to be projected into a different container.
426
426
427
427
The following example projects all normalized images extracted from the document node of an enriched document, into a container called `myImages`.
428
428
@@ -586,13 +586,13 @@ From the consolidated crossProjection object, slice the object into multiple tab
586
586
}
587
587
```
588
588
589
-
Object projections require a container name for each projection. Object projections and file projections cannot share a container.
589
+
Object projections require a container name for each projection. Object projections and file projections can't share a container.
590
590
591
591
### Relationships among table, object, and file projections
592
592
593
-
This example also highlights another feature of projections. By defining multiple types of projections within the same projection object, there is a relationship expressed within and across the different types (tables, objects, files). This allows you to start with a table row for a document and find all the OCR text for the images within that document in the object projection.
593
+
This example also highlights another feature of projections. By defining multiple types of projections within the same projection object, there's a relationship expressed within and across the different types (tables, objects, files). This allows you to start with a table row for a document and find all the OCR text for the images within that document in the object projection.
594
594
595
-
If you do not want the data related, define the projections in different projection groups. For example, the following snippet will result in the tables being related, but without relationships between the tables and the object (OCR text) projections.
595
+
If you don't want the data related, define the projections in different projection groups. For example, the following snippet will result in the tables being related, but without relationships between the tables and the object (OCR text) projections.
596
596
597
597
Projection groups are useful when you want to project the same data in different shapes for different needs. For example, a projection group for the Power BI dashboard, and another projection group for capturing data used to train a machine learning model wrapped in a custom skill.
598
598
@@ -654,7 +654,7 @@ When building projections of different types, file and object projections are ge
654
654
655
655
## Next steps
656
656
657
-
The example in this article demonstrates common patterns on how to create projections. Now that you have a good understanding of the concepts, you are better equipped to build projections for your specific scenario.
657
+
The example in this article demonstrates common patterns on how to create projections. Now that you have a good understanding of the concepts, you're better equipped to build projections for your specific scenario.
658
658
659
659
> [!div class="nextstepaction"]
660
660
> [Configure caching for incremental enrichment](search-howto-incremental-index.md)
Copy file name to clipboardExpand all lines: articles/search/samples-rest.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Learn about the REST API samples that demonstrate the functionality and workflow
17
17
18
18
REST is the definitive programming interface for Azure Cognitive Search, and all operations that can be invoked programmatically are available first in REST, and then in SDKs. For this reason, most examples in the documentation leverage the REST APIs to demonstrate or explain important concepts.
19
19
20
-
REST samples are usually developed and tested on Postman, but you can use any client that supports HTTP calls, including the [Postman desktop app](https://www.postman.com/downloads/). [This quickstart](search-get-started-rest.md) explains how to formulate the HTTP request from end-to-end.
20
+
REST samples are usually developed and tested on Postman, but you can use any client that supports HTTP calls, including the [Postman app](https://www.postman.com/downloads/). [This quickstart](search-get-started-rest.md) explains how to formulate the HTTP request from end-to-end.
Copy file name to clipboardExpand all lines: articles/search/search-file-storage-integration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ This article supplements [**Create an indexer**](search-howto-create-indexers.md
29
29
30
30
+ Read permissions on Azure Storage. A "full access" connection string includes a key that grants access to the content, but if you're using Azure roles instead, make sure the [search service managed identity](search-howto-managed-identities-data-sources.md) has **Data and Reader** permissions.
31
31
32
-
+A REST client, such as [Postman](search-get-started-rest.md), to send REST calls that create the data source, index, and indexer.
32
+
+Use a REST client, such as [Postman app](https://www.postman.com/downloads/), if you want to formulate REST calls similar to the ones shown in this article.
Copy file name to clipboardExpand all lines: articles/search/search-get-started-rest.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,13 +17,13 @@ ms.custom: mode-api
17
17
18
18
This article explains how to formulate requests interactively using the [Azure Cognitive Search REST APIs](/rest/api/searchservice) and a REST client for sending and receiving requests.
19
19
20
-
The article uses the Postman desktop application. You can [download and import a Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Quickstart) if you prefer to use predefined requests.
20
+
The article uses the Postman app. You can [download and import a Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Quickstart) if you prefer to use predefined requests.
21
21
22
22
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
23
23
24
24
## Prerequisites
25
25
26
-
+[Postman desktop app](https://www.getpostman.com/), used for sending requests to Azure Cognitive Search.
26
+
+[Postman app](https://www.postman.com/downloads/), used for sending requests to Azure Cognitive Search.
27
27
28
28
+[Create an Azure Cognitive Search service](search-create-service-portal.md) or [find an existing service](https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Search%2FsearchServices) under your current subscription. You can use a free service for this quickstart.
29
29
@@ -53,7 +53,7 @@ Request header composition includes two elements: `Content-Type` and the `api-ke
53
53
54
54
For the requests to succeed, you'll need to provide the service name and api-key as collection variables.
55
55
56
-
1. Open the Postman Desktop app and import the collection.
56
+
1. Open the Postman app and import the collection.
57
57
58
58
1. Select the collection's access menu, select **Edit**, and provide the service name and key of your search service.
Copy file name to clipboardExpand all lines: articles/search/search-how-to-create-search-index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,7 +91,7 @@ The following screenshot highlights where **Add index** and **Import data** appe
91
91
92
92
### [**REST**](#tab/index-rest)
93
93
94
-
[**Create Index (REST API)**](/rest/api/searchservice/create-index) is used to create an index. The Postman desktop app can function as a search index client to connect to your search service and send requests. See [Create a search index using REST and Postman](search-get-started-rest.md) to get started.
94
+
[**Create Index (REST API)**](/rest/api/searchservice/create-index) is used to create an index. The Postman app can function as a search index client to connect to your search service and send requests. See [Create a search index using REST and Postman](search-get-started-rest.md) to get started.
95
95
96
96
The REST API provides defaults for field attribution. For example, all `Edm.String` fields are searchable by default. Attributes are shown in full below for illustrative purposes, but you can omit attribution in cases where the default values apply.
Copy file name to clipboardExpand all lines: articles/search/search-howto-create-indexers.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -170,7 +170,7 @@ When you're ready to create an indexer on a remote search service, you'll need a
170
170
171
171
### [**REST**](#tab/indexer-rest)
172
172
173
-
The Postman desktop app can function as an indexer client. Using the app, you can connect to your search service and send [Create Indexer (REST)](/rest/api/searchservice/create-indexer) or [Update indexer](/rest/api/searchservice/update-indexer) requests.
173
+
The Postman app can function as an indexer client. Using the app, you can connect to your search service and send [Create Indexer (REST)](/rest/api/searchservice/create-indexer) or [Update indexer](/rest/api/searchservice/update-indexer) requests.
0 commit comments