Azure AI Search Index Designer
Visual schema builder for Azure AI Search indexes directly in VS Code. Define fields, analyzers, scoring profiles, semantic configurations, and vector search dimensions in a YAML/JSON editor with validation, preview, and one-click deploy. Includes a built-in query tester.
Features
- Visual Schema Designer — Interactive webview to add/edit/remove fields, toggle attributes (searchable, filterable, sortable, facetable, key), and configure vector fields with dimensions and profiles.
- YAML & JSON Support — Write index schemas in
.search-index.json or .search-index.yaml files.
- Live Validation — Validates against Azure AI Search REST API rules: field types, vector constraints, scoring function parameters, semantic field references, HNSW algorithm ranges, and analyzer cross-references.
- One-Click Deploy — Deploy indexes directly to Azure AI Search via the REST API.
- Query Tester — Interactive search query builder with support for filters, facets, highlights, semantic search, and vector queries.
- CodeLens Actions — Inline links above index files: Open Designer, Validate, Preview, Deploy, Query Tester.
Getting Started
1. Create an Index File
Run AI Search: New Index File from the Command Palette, or create a file ending in .search-index.json:
{
"name": "products",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "filterable": true },
{ "name": "title", "type": "Edm.String", "searchable": true, "retrievable": true },
{ "name": "description", "type": "Edm.String", "searchable": true, "retrievable": true },
{ "name": "category", "type": "Edm.String", "filterable": true, "facetable": true },
{ "name": "price", "type": "Edm.Double", "filterable": true, "sortable": true, "facetable": true },
{ "name": "embedding", "type": "Collection(Edm.Single)", "searchable": true, "dimensions": 1536, "vectorSearchProfile": "my-profile" }
],
"vectorSearch": {
"algorithms": [
{ "name": "hnsw-algo", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 500, "metric": "cosine" } }
],
"profiles": [
{ "name": "my-profile", "algorithm": "hnsw-algo" }
]
},
"semantic": {
"configurations": [
{
"name": "default",
"prioritizedFields": {
"titleField": { "fieldName": "title" },
"contentFields": [{ "fieldName": "description" }]
}
}
]
}
}
Set your Azure AI Search endpoint and API key in VS Code settings:
| Setting |
Description |
aiSearch.endpoint |
Search service URL (e.g. https://my-search.search.windows.net) |
aiSearch.apiKey |
Admin API key |
aiSearch.apiVersion |
REST API version (default: 2024-07-01) |
aiSearch.defaultSimilarity |
Default vector similarity metric |
aiSearch.maxFieldDepth |
Max nesting depth for complex fields |
3. Use CodeLens or Commands
Click the CodeLens actions above your index file, or use the Command Palette:
| Command |
Description |
AI Search: Open Designer |
Open the visual schema builder |
AI Search: Validate Schema |
Validate the index schema |
AI Search: Preview Index |
Preview the final JSON |
AI Search: Deploy Index |
Deploy to Azure AI Search |
AI Search: Open Query Tester |
Open the interactive query tester |
AI Search: New Index File |
Create a new index file from template |
AI Search: Add Field |
Open designer to add a field |
AI Search: Add Scoring Profile |
Open designer to add a scoring profile |
Validation Rules
The validator checks:
- Field names and types against all 25+ EdmTypes
- Exactly one key field (must be Edm.String)
- Attribute compatibility (searchable only for text, sortable not for collections, etc.)
- Vector fields: dimensions 2–4096, valid vector types, profile references
- HNSW parameters: m (4–10), efConstruction (100–1000), efSearch (100–1000)
- Scoring profile function parameters (magnitude ranges, freshness durations, etc.)
- Semantic configuration field references must exist and be searchable
- Analyzer/tokenizer/filter cross-references against 100+ built-in names
- Duplicate name detection across fields, profiles, algorithms
Supported Field Types
Edm.String, Edm.Int32, Edm.Int64, Edm.Double, Edm.Boolean, Edm.DateTimeOffset, Edm.GeographyPoint, Edm.ComplexType, Edm.Single, Edm.Half, Edm.Int16, Edm.SByte, Edm.Byte, and their Collection() variants.
Requirements
- VS Code 1.85+
- Azure AI Search service with an admin API key
License
MIT
| |