An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
can not get skillset/indexer to work with Microsoft.Skills.Text.SplitSkill and Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill
i can not find the correct naming to get indexer to run my skillset ... is there a json schema definition for skilllset and indexer ? from docs and AI i cannot get my indexer to run without warnings, and it isn't sending to the skillset
Subscription: Shoah-ITS-Dev Pay-As-You-Go
Resource: XXX-test-XXXX-aisearchXXXXXX
the relevant files:
Edited PII information
Azure AI Search
-
Praneeth Maddali • 12,670 Reputation points • Microsoft External Staff • Moderator
2025-10-28T15:22:49.4066667+00:00 Hi @Jeff Schulz
Thanks for reaching out regarding the issue with your skillset and indexer configuration. We’ve started reviewing the details and will share our suggestions ASP
-
Praneeth Maddali • 12,670 Reputation points • Microsoft External Staff • Moderator
2025-10-29T10:36:28.4+00:00 Hi @Jeff Schulz
The issue with your SplitSkill and AzureOpenAIEmbeddingSkill is due to incorrect context and input paths in the skillset, which is causing missing values and indexer warnings. To fix this, update your skillset as follows:
- Set the context to /document for SplitSkill and /document/pages/* for AzureOpenAIEmbeddingSkill.
- Use /document/Summary as the input for SplitSkill and $/text as the input for EmbeddingSkill.
- Add ordinalPositions output to SplitSkill for chunk IDs.
- Update indexer outputFieldMappings using repeater syntax (e.g., /document/pages/*/text to SummaryChunk) and use a concat function for ChunkID with TitleID and ordinal positions.
- Add a ConditionalSkill to skip processing for empty Summary fields.
- Test the changes using Debug Sessions in the Azure portal.
reference:
https://learn.microsoft.com/en-us/azure/search/cognitive-search-tutorial-debug-sessions
https://learn.microsoft.com/en-us/azure/search/cognitive-search-skill-textsplit
let us know if the above helps or you need further assistance on this issue.
Please "upvote" if the information helped you. This will help us and others in the community as well.
-
Jeff Schulz • 0 Reputation points
2025-10-31T22:40:15.3+00:00 thanks for your reply ... i will start to implement your fixes
-
Praneeth Maddali • 12,670 Reputation points • Microsoft External Staff • Moderator
2025-11-03T18:01:02.7933333+00:00 Hi @Jeff Schulz
I'm just reaching out to see if your issue has been resolved or if you've had a chance to review my previous comment?
-
Jeff Schulz • 0 Reputation points
2025-11-21T23:00:12.99+00:00 so sorry, have not had a chance to implement yet
-
Praneeth Maddali • 12,670 Reputation points • Microsoft External Staff • Moderator
2025-11-24T08:45:58.6+00:00 Hi @Jeff Schulz
Did you get a chance to implement our suggestions or if your issue has been resolved
-
Sina Salam • 31,456 Reputation points • Volunteer Moderator
2025-11-24T11:02:55.45+00:00 Hello Jeff Schulz,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you can not get skillset/indexer to work with Microsoft.Skills.Text.SplitSkill and Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill.
To resolve the issue:
- Validate enrichment tree with Debug Sessions before deployment by run Debug Session in Azure portal > capture Inputs and Outputs for targeted skills. - https://learn.microsoft.com/en-us/azure/search/cognitive-search-concept-troubleshooting and https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/search/cognitive-search-concept-troubleshooting.md gives more insights. Then, confirm actual node paths used (e.g.,
/document/pages/0/text,/document/Summary). - Adjust JSON schema strictly:
- Using Base template: Skillset JSON schema docs
- Provide full example for SplitSkill + embedding:
"name": "splitPages", "context": "/document", "inputs": [...], "outputs": [ { "name": "textItems", "targetName": "pages" }, { "name": "ordinalPositions", "targetName": "pageOrdinal" } ], // ------- { "name": "embedPages", "context": "/document/pages/*", "inputs": [{ "name": "text", "source": "/document/pages/*/text" }], "outputs": [{ "name": "embedding", "targetName": "pageEmbedding" }] } - Correct
outputFieldMappingsfor an example:
Use"outputFieldMappings": [ { "sourceFieldName": "/document/pages/*/text", "targetFieldName": "SummaryChunk" }, { "sourceFieldName": "/document/pages/*/pageEmbedding", "targetFieldName": "VectorEmbedding" } ]concat(TitleID, '_', pageOrdinal)forChunkID. - Add
ConditionalSkillto skip records:{ "@odata.type": "#Microsoft.Skills.Text.ConditionalSkill", "conditions": [ { "if": { "source": "/document/Summary", "operator": "Exists" } } ], "trueCase": { "skills": [ /* call next skills only if exists */ ] } } - Use Debug Session to verify null filtering
- Ensure empty pages aren't generating nulls.
- The ConditionalSkill should skip null
Summary.
- Tune Indexer parameters & handle failed docs
Verify indexer execution history > Docs failed/succeeded via portal.- https://learn.microsoft.com/en-us/azure/search/cognitive-search-concept-troubleshooting and https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/search/cognitive-search-concept-troubleshooting.md"parameters": { "maxFailedItems": -1, "maxFailedItemsPerBatch": -1 } - Lastly. if incremental enrichment is needed, enable enrichment cache preview and perform on Azure CLI, REST-based validation by using:
Then, check JSON, to ensure mappings followaz search skillset show --name mySkillset --service-name ... az search indexer run --name myIndexer --service-name .../document/…/*.
I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.
Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.
- Validate enrichment tree with Debug Sessions before deployment by run Debug Session in Azure portal > capture Inputs and Outputs for targeted skills. - https://learn.microsoft.com/en-us/azure/search/cognitive-search-concept-troubleshooting and https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/search/cognitive-search-concept-troubleshooting.md gives more insights. Then, confirm actual node paths used (e.g.,
Sign in to comment