Hello Suraj !
Thank you for posting on Microsoft Learn Q&A.
You make your search index contain a vector field and you populate that field with embeddings either pre-computed in SQL or computed by a skillset during indexing. The vector index size 0 bytes in your screenshot means that your index has no vector field or it’s empty.
You can add a vector field with profile to your index :
{
"name": "azuresql-index",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "filterable": true },
{ "name": "content", "type": "Edm.String", "searchable": true },
{ "name": "embedding", "type": "Collection(Edm.Single)", "searchable": true,
"dimensions": 1536,
"vectorSearchProfile": "v-hnsw" }
],
"vectorSearch": {
"algorithms": [{ "name": "hnsw", "kind": "hnsw" }],
"profiles": [{ "name": "v-hnsw", "algorithm": "hnsw" }]
}
}
and create a skillset that generates embeddings from your text column and maps them to /document/embedding:
{
"name": "azuresql-embed-skillset",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Text.EmbeddingSkill",
"name": "make-embeddings",
"context": "/document",
"inputs": [{ "name": "text", "source": "/document/content" }],
"outputs": [{ "name": "embeddings", "targetName": "embedding" }],
"modelVersion": "text-embedding-3-large" // or your model
}
]
}
then wire your indexer to the skillset and map the output:
{
"name": "azuresql-indexer",
"dataSourceName": "azuresql-datasource",
"targetIndexName": "azuresql-index",
"skillsetName": "azuresql-embed-skillset",
"outputFieldMappings": [
{ "sourceFieldName": "/document/embedding", "targetFieldName": "embedding" }
],
"fieldMappings": [
{ "sourceFieldName": "Id", "targetFieldName": "id" },
{ "sourceFieldName": "Content", "targetFieldName": "content" }
]
}
Run the indexer you will see the vector index size will grow from 0 once embeddings are stored.