Skip to content

Commit 70fa313

Browse files
committed
fixed blockers, added one more article to the PR (sorry)
1 parent 76ec586 commit 70fa313

File tree

3 files changed

+41
-29
lines changed

3 files changed

+41
-29
lines changed

articles/search/cognitive-search-common-errors-warnings.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,9 @@ Skill execution failed because the call to Azure AI services was throttled. Typi
218218

219219
An input to the skill was missing, it has the wrong type, or otherwise, invalid. You might see the following information:
220220

221-
1. `Could not execute skill`
221+
+ `Could not execute skill`
222222

223-
1.`Skill executed but may have unexpected results`
223+
+ `Skill executed but may have unexpected results`
224224

225225
Cognitive skills have required inputs and optional inputs. For example, the [Key phrase extraction skill](cognitive-search-skill-keyphrases.md) has two required inputs `text`, `languageCode`, and no optional inputs. Custom skill inputs are all considered optional inputs.
226226

@@ -232,7 +232,6 @@ In both cases, this warning may be expected due to the shape of your data. For e
232232

233233
If you want to provide a default value in case of missing input, you can use the [Conditional skill](cognitive-search-skill-conditional.md) to generate a default value and then use the output of the [Conditional skill](cognitive-search-skill-conditional.md) as the skill input.
234234

235-
236235
```json
237236
{
238237
"@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",

articles/search/cognitive-search-concept-intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ In Cognitive Search, *AI enrichment* is the application of machine learning mode
1818
Because Azure Cognitive Search is a full text search solution, the purpose of AI enrichment is to improve the utility of your content in search-related scenarios:
1919

2020
+ Apply translation and language detection for multi-lingual search
21-
+ Apply entity recognition to extract people anmes, places, and other entities from large chunks of text
21+
+ Apply entity recognition to extract people names, places, and other entities from large chunks of text
2222
+ Apply key phrase extraction to identify and output important terms
2323
+ Apply Optical Character Recognition (OCR) to recognize printed and handwritten text in binary files
2424
+ Apply image analysis to describe image content, and output the descriptions as searchable text fields

articles/search/cognitive-search-tutorial-debug-sessions.md

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
22
title: 'Tutorial: Debug skillsets'
33
titleSuffix: Azure Cognitive Search
4-
description: Debug sessions is an Azure portal tool used to find, diagnose, and repair problems in a skillset.
4+
description: Debug Sessions is an Azure portal tool used to find, diagnose, and repair problems in a skillset.
55
author: HeidiSteen
66
ms.author: heidist
77
manager: nitinme
88

99
ms.service: cognitive-search
1010
ms.topic: tutorial
11-
ms.date: 06/15/2022
11+
ms.date: 07/20/2023
1212
---
1313

1414
# Tutorial: Debug a skillset using Debug Sessions
1515

1616
Skillsets coordinate a series of actions that analyze or transform content, where the output of one skill becomes the input of another. When inputs depend on outputs, mistakes in skillset definitions and field associations can result in missed operations and data.
1717

18-
**Debug sessions** in the Azure portal provides a holistic visualization of a skillset. Using this tool, you can drill down to specific steps to easily see where an action might be falling down.
18+
**Debug sessions** is a tool in the Azure portal provides a holistic visualization of a skillset. Using this tool, you can drill down to specific steps to easily see where an action might be falling down.
1919

20-
In this article, you'll use **Debug sessions** to find and fix missing inputs and outputs. The tutorial is all-inclusive. It provides sample data, a Postman collection that creates objects, and instructions for debugging problems in the skillset.
20+
In this article, use **Debug sessions** to find and fix missing inputs and outputs. The tutorial is all-inclusive. It provides sample data, a Postman collection that creates objects, and instructions for debugging problems in the skillset.
2121

2222
## Prerequisites
2323

@@ -68,24 +68,26 @@ All requests require an api-key on every request sent to your service. Having a
6868

6969
## Create data source, skillset, index, and indexer
7070

71-
In this section, Postman and a provided collection are used to create the Cognitive Search data source, skillset, index, and indexer. If you're unfamiliar with Postman, see [this quickstart](search-get-started-rest.md).
71+
In this section, import a Postman collection containing a "buggy" workflow that you fix in this tutorial.
7272

73-
You will need the [Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Debug-sessions) created for this tutorial to complete this task.
73+
1. Start Postman and import the [DebugSessions.postman_collection.json](https://github.com/Azure-Samples/azure-search-postman-samples/tree/master/Debug-sessions) collection. If you're unfamiliar with Postman, see [this quickstart](search-get-started-rest.md).
7474

75-
1. Start Postman and import the "DebugSessions.postman_collection.json" collection. Under **Files** > **New**, select the collection.
75+
1. Under **Files** > **New**, select the collection.
7676

7777
1. After the collection is imported, expand the actions list (...).
7878

79-
1. Select **Edit** to set variables used in each request, and then **Save**.
79+
1. Select **Edit** to set variables used in each request.
8080

8181
| Current value | Description |
8282
|---------------|-------------|
83-
| searchService | The name of your search service (for example, if the endpoint is `https://mydemo.search.windows.net`, then the service name is "mydemo". |
83+
| searchService | The name of your search service (for example, if the endpoint is `https://mydemo.search.windows.net`, then the service name is `mydemo`). |
8484
| apiKey | The primary or secondary key obtained from the **Keys** page of your search service. |
8585
| storageConnectionString | The connection string obtained from the **Access Keys** page of your Azure Storage account. |
8686
| containerName | The name of the container you created for the sample data. |
8787

88-
1. Verify that the collection you imported contains four REST calls, used to create objects in this tutorial.
88+
1. **Save** your changes. The requests fail unless you save the variables.
89+
90+
1. You should see four REST calls in the collection.
8991

9092
+ CreateDataSource adds `clinical-trials-ds`
9193
+ CreateSkillset adds `clinical-trials-ss`
@@ -122,13 +124,15 @@ Another way to investigate errors and warnings is through the Azure portal.
122124

123125
## Start your debug session
124126

125-
1. From the search service **Overview** page, click the **Debug sessions** tab.
127+
1. From the search service left-navigation pane, under **Search management**, select **Debug sessions**.
126128

127-
1. Select **+ New Debug Session**.
129+
1. Select **+ Add Debug Session**.
128130

129131
1. Give the session a name.
130132

131-
1. Connect the session to your storage account.
133+
1. Connect the session to your storage account. Create a container named "debug sessions". You can use this container repeatedly to store all of your debug session data.
134+
135+
1. If you configured a trusted connection between search and storage, select the user-managed identity or system identity for the connection. Otherwise, use the default (None).
132136

133137
1. In Indexer template, provide the indexer name. The indexer has references to the data source, the skillset, and index.
134138

@@ -152,24 +156,24 @@ Notice that the **Errors/Warnings** tab will provide a much smaller list than th
152156

153157
Select **Errors/Warnings** to review the notifications. You should see four:
154158

155-
+ "Could not execute skill because one or more skill input was invalid. Required skill input is missing. Name: 'text', Source: '/document/content'."
159+
+ "Could not execute skill because one or more skill inputs were invalid. Required skill input is missing. Name: 'text', Source: '/document/content'."
156160

157161
+ "Could not map output field 'locations' to search index. Check the 'outputFieldMappings' property of your indexer.
158162
Missing value '/document/merged_content/locations'."
159163

160164
+ "Could not map output field 'organizations' to search index. Check the 'outputFieldMappings' property of your indexer.
161165
Missing value '/document/merged_content/organizations'."
162166

163-
+ "Skill executed but may have unexpected results because one or more skill input was invalid.
167+
+ "Skill executed but may have unexpected results because one or more skill inputs were invalid.
164168
Optional skill input is missing. Name: 'languageCode', Source: '/document/languageCode'. Expression language parsing issues: Missing value '/document/languageCode'."
165169

166-
Many skills have a "languageCode" parameter. By inspecting the operation, you can see that this language code input is missing from the `EntityRecognitionSkillV3.#1`, which is the same Entity Recognition skill that is having trouble with 'locations' and 'organizations' output.
170+
Many skills have a "languageCode" parameter. By inspecting the operation, you can see that this language code input is missing from the `EntityRecognitionSkill.#1`, which is the same Entity Recognition skill that is having trouble with 'locations' and 'organizations' output.
167171

168172
Because all four notifications are about this skill, your next step is to debug this skill. If possible, start by solving input issues first before moving on to output issues.
169173

170174
## Fix missing skill input values
171175

172-
In the **Errors/Warnings** tab, there are two missing inputs for an operation labeled `EntityRecognitionSkillV3.#1`. The detail of the first error explains that a required input for 'text' is missing. The second indicates a problem with an input value "/document/languageCode".
176+
In the **Errors/Warnings** tab, there are two missing inputs for an operation labeled `EntityRecognitionSkill.#1`. The detail of the first error explains that a required input for 'text' is missing. The second indicates a problem with an input value "/document/languageCode".
173177

174178
1. In **AI Enrichments** > **Skill Graph**, select the skill labeled **#1** to display its details in the right pane.
175179

@@ -191,7 +195,14 @@ In the **Errors/Warnings** tab, there are two missing inputs for an operation la
191195

192196
1. Switch to **Skill JSON Editor**.
193197

194-
1. Change `/document/content` to `/document/merged_content`.
198+
1. At line 16, under "inputs", change `/document/content` to `/document/merged_content`.
199+
200+
```json
201+
{
202+
"name": "text",
203+
"source": "/document/merged_content"
204+
},
205+
```
195206

196207
1. Select **Save** in the Skill Details pane.
197208

@@ -205,7 +216,7 @@ In the **Errors/Warnings** tab, there are two missing inputs for an operation la
205216

206217
1. Select the **Executions** tab and locate the input for "languageCode".
207218

208-
1. Select the **</>** symbol to pop open the Expression Evaluator. Notice the confirmation that the "languageCode" property is not a valid input.
219+
1. Select the **</>** symbol to pop open the Expression Evaluator. Notice the confirmation that the "languageCode" property isn't a valid input.
209220

210221
:::image type="content" source="media/cognitive-search-debug/expression-evaluator-language.png" alt-text="Screenshot of Expression Evaluator for the language input." border="true":::
211222

@@ -265,19 +276,21 @@ Alternatively, if you aren't ready to commit changes, you can save the debug ses
265276

266277
1. Select **OK** to confirm that you wish to update your skillset.
267278

268-
1. Close Debug session and select the **Indexers** tab.
279+
1. Close Debug session and open **Indexers** from the left navigation pane.
269280

270-
1. Open your 'clinical-trials-idxr'.
281+
1. Select 'clinical-trials-idxr'.
271282

272283
1. Select **Reset**.
273284

274-
1. Select **Run**. Select **OK** to confirm.
285+
1. Select **Run**.
286+
287+
1. Select **Refresh** to show the status of the reset and run commands.
275288

276289
When the indexer has finished running, there should be a green checkmark and the word Success next to the time stamp for the latest run in the **Execution history** tab. To ensure that the changes have been applied:
277290

278-
1. In the search Overview page, select the **Index** tab.
291+
1. In the left navigation pane, open **Indexes**.
279292

280-
1. Open the 'clinical-trials' index and in the Search explorer tab, enter this query string: `$select=metadata_storage_path, organizations, locations&$count=true` to return fields for specific documents (identified by the unique `metadata_storage_path` field).
293+
1. Select 'clinical-trials' index and in the Search explorer tab, enter this query string: `$select=metadata_storage_path, organizations, locations&$count=true` to return fields for specific documents (identified by the unique `metadata_storage_path` field).
281294

282295
1. Select **Search**.
283296

@@ -289,7 +302,7 @@ When you're working in your own subscription, it's a good idea at the end of a p
289302

290303
You can find and manage resources in the portal, using the **All resources** or **Resource groups** link in the left-navigation pane.
291304

292-
If you are using a free service, remember that you are limited to three indexes, indexers, and data sources. You can delete individual items in the portal to stay under the limit.
305+
If you're using a free service, remember that you're limited to three indexes, indexers, and data sources. You can delete individual items in the portal to stay under the limit.
293306

294307
## Next steps
295308

0 commit comments

Comments
 (0)