{"id":"b816bc2e-02b9-4b02-96f6-30da901346b0","shortId":"TvL3r8","kind":"skill","title":"azure-search-documents-py","tagline":"Azure AI Search SDK for Python. Use for vector search, hybrid search, semantic ranking, indexing, and skillsets.","description":"# Azure AI Search SDK for Python\n\nFull-text, vector, and hybrid search with AI enrichment capabilities.\n\n## Installation\n\n```bash\npip install azure-search-documents\n```\n\n## Environment Variables\n\n```bash\nAZURE_SEARCH_ENDPOINT=https://<service-name>.search.windows.net\nAZURE_SEARCH_API_KEY=<your-api-key>\nAZURE_SEARCH_INDEX_NAME=<your-index-name>\n```\n\n## Authentication\n\n### API Key\n\n```python\nfrom azure.search.documents import SearchClient\nfrom azure.core.credentials import AzureKeyCredential\n\nclient = SearchClient(\n    endpoint=os.environ[\"AZURE_SEARCH_ENDPOINT\"],\n    index_name=os.environ[\"AZURE_SEARCH_INDEX_NAME\"],\n    credential=AzureKeyCredential(os.environ[\"AZURE_SEARCH_API_KEY\"])\n)\n```\n\n### Entra ID (Recommended)\n\n```python\nfrom azure.search.documents import SearchClient\nfrom azure.identity import DefaultAzureCredential\n\nclient = SearchClient(\n    endpoint=os.environ[\"AZURE_SEARCH_ENDPOINT\"],\n    index_name=os.environ[\"AZURE_SEARCH_INDEX_NAME\"],\n    credential=DefaultAzureCredential()\n)\n```\n\n## Client Types\n\n| Client | Purpose |\n|--------|---------|\n| `SearchClient` | Search and document operations |\n| `SearchIndexClient` | Index management, synonym maps |\n| `SearchIndexerClient` | Indexers, data sources, skillsets |\n\n## Create Index with Vector Field\n\n```python\nfrom azure.search.documents.indexes import SearchIndexClient\nfrom azure.search.documents.indexes.models import (\n    SearchIndex,\n    SearchField,\n    SearchFieldDataType,\n    VectorSearch,\n    HnswAlgorithmConfiguration,\n    VectorSearchProfile,\n    SearchableField,\n    SimpleField\n)\n\nindex_client = SearchIndexClient(endpoint, AzureKeyCredential(key))\n\nfields = [\n    SimpleField(name=\"id\", type=SearchFieldDataType.String, key=True),\n    SearchableField(name=\"title\", type=SearchFieldDataType.String),\n    SearchableField(name=\"content\", type=SearchFieldDataType.String),\n    SearchField(\n        name=\"content_vector\",\n        type=SearchFieldDataType.Collection(SearchFieldDataType.Single),\n        searchable=True,\n        vector_search_dimensions=1536,\n        vector_search_profile_name=\"my-vector-profile\"\n    )\n]\n\nvector_search = VectorSearch(\n    algorithms=[\n        HnswAlgorithmConfiguration(name=\"my-hnsw\")\n    ],\n    profiles=[\n        VectorSearchProfile(\n            name=\"my-vector-profile\",\n            algorithm_configuration_name=\"my-hnsw\"\n        )\n    ]\n)\n\nindex = SearchIndex(\n    name=\"my-index\",\n    fields=fields,\n    vector_search=vector_search\n)\n\nindex_client.create_or_update_index(index)\n```\n\n## Upload Documents\n\n```python\nfrom azure.search.documents import SearchClient\n\nclient = SearchClient(endpoint, \"my-index\", AzureKeyCredential(key))\n\ndocuments = [\n    {\n        \"id\": \"1\",\n        \"title\": \"Azure AI Search\",\n        \"content\": \"Full-text and vector search service\",\n        \"content_vector\": [0.1, 0.2, ...]  # 1536 dimensions\n    }\n]\n\nresult = client.upload_documents(documents)\nprint(f\"Uploaded {len(result)} documents\")\n```\n\n## Keyword Search\n\n```python\nresults = client.search(\n    search_text=\"azure search\",\n    select=[\"id\", \"title\", \"content\"],\n    top=10\n)\n\nfor result in results:\n    print(f\"{result['title']}: {result['@search.score']}\")\n```\n\n## Vector Search\n\n```python\nfrom azure.search.documents.models import VectorizedQuery\n\n# Your query embedding (1536 dimensions)\nquery_vector = get_embedding(\"semantic search capabilities\")\n\nvector_query = VectorizedQuery(\n    vector=query_vector,\n    k_nearest_neighbors=10,\n    fields=\"content_vector\"\n)\n\nresults = client.search(\n    vector_queries=[vector_query],\n    select=[\"id\", \"title\", \"content\"]\n)\n\nfor result in results:\n    print(f\"{result['title']}: {result['@search.score']}\")\n```\n\n## Hybrid Search (Vector + Keyword)\n\n```python\nfrom azure.search.documents.models import VectorizedQuery\n\nvector_query = VectorizedQuery(\n    vector=query_vector,\n    k_nearest_neighbors=10,\n    fields=\"content_vector\"\n)\n\nresults = client.search(\n    search_text=\"azure search\",\n    vector_queries=[vector_query],\n    select=[\"id\", \"title\", \"content\"],\n    top=10\n)\n```\n\n## Semantic Ranking\n\n```python\nfrom azure.search.documents.models import QueryType\n\nresults = client.search(\n    search_text=\"what is azure search\",\n    query_type=QueryType.SEMANTIC,\n    semantic_configuration_name=\"my-semantic-config\",\n    select=[\"id\", \"title\", \"content\"],\n    top=10\n)\n\nfor result in results:\n    print(f\"{result['title']}\")\n    if result.get(\"@search.captions\"):\n        print(f\"  Caption: {result['@search.captions'][0].text}\")\n```\n\n## Filters\n\n```python\nresults = client.search(\n    search_text=\"*\",\n    filter=\"category eq 'Technology' and rating gt 4\",\n    order_by=[\"rating desc\"],\n    select=[\"id\", \"title\", \"category\", \"rating\"]\n)\n```\n\n## Facets\n\n```python\nresults = client.search(\n    search_text=\"*\",\n    facets=[\"category,count:10\", \"rating\"],\n    top=0  # Only get facets, no documents\n)\n\nfor facet_name, facet_values in results.get_facets().items():\n    print(f\"{facet_name}:\")\n    for facet in facet_values:\n        print(f\"  {facet['value']}: {facet['count']}\")\n```\n\n## Autocomplete & Suggest\n\n```python\n# Autocomplete\nresults = client.autocomplete(\n    search_text=\"sea\",\n    suggester_name=\"my-suggester\",\n    mode=\"twoTerms\"\n)\n\n# Suggest\nresults = client.suggest(\n    search_text=\"sea\",\n    suggester_name=\"my-suggester\",\n    select=[\"title\"]\n)\n```\n\n## Indexer with Skillset\n\n```python\nfrom azure.search.documents.indexes import SearchIndexerClient\nfrom azure.search.documents.indexes.models import (\n    SearchIndexer,\n    SearchIndexerDataSourceConnection,\n    SearchIndexerSkillset,\n    EntityRecognitionSkill,\n    InputFieldMappingEntry,\n    OutputFieldMappingEntry\n)\n\nindexer_client = SearchIndexerClient(endpoint, AzureKeyCredential(key))\n\n# Create data source\ndata_source = SearchIndexerDataSourceConnection(\n    name=\"my-datasource\",\n    type=\"azureblob\",\n    connection_string=connection_string,\n    container={\"name\": \"documents\"}\n)\nindexer_client.create_or_update_data_source_connection(data_source)\n\n# Create skillset\nskillset = SearchIndexerSkillset(\n    name=\"my-skillset\",\n    skills=[\n        EntityRecognitionSkill(\n            inputs=[InputFieldMappingEntry(name=\"text\", source=\"/document/content\")],\n            outputs=[OutputFieldMappingEntry(name=\"organizations\", target_name=\"organizations\")]\n        )\n    ]\n)\nindexer_client.create_or_update_skillset(skillset)\n\n# Create indexer\nindexer = SearchIndexer(\n    name=\"my-indexer\",\n    data_source_name=\"my-datasource\",\n    target_index_name=\"my-index\",\n    skillset_name=\"my-skillset\"\n)\nindexer_client.create_or_update_indexer(indexer)\n```\n\n## Best Practices\n\n1. **Use hybrid search** for best relevance combining vector and keyword\n2. **Enable semantic ranking** for natural language queries\n3. **Index in batches** of 100-1000 documents for efficiency\n4. **Use filters** to narrow results before ranking\n5. **Configure vector dimensions** to match your embedding model\n6. **Use HNSW algorithm** for large-scale vector search\n7. **Create suggesters** at index creation time (cannot add later)\n\n## Reference Files\n\n| File | Contents |\n|------|----------|\n| references/vector-search.md | HNSW configuration, integrated vectorization, multi-vector queries |\n| references/semantic-ranking.md | Semantic configuration, captions, answers, hybrid patterns |\n| scripts/setup_vector_index.py | CLI script to create vector-enabled search index |\n\n\n---\n\n## Additional Azure AI Search Patterns\n\n### Additional SDK Focus\n\nWrite clean, idiomatic Python code for Azure AI Search using `azure-search-documents`.\n\n## Installation for Additional Patterns\n\n```bash\npip install azure-search-documents azure-identity\n```\n\n## Environment Variables for Additional Patterns\n\n```bash\nAZURE_SEARCH_ENDPOINT=https://<search-service>.search.windows.net\nAZURE_SEARCH_INDEX_NAME=<index-name>\n# For API key auth (not recommended for production)\nAZURE_SEARCH_API_KEY=<api-key>\n```\n\n## Authentication for Additional Patterns\n\n**DefaultAzureCredential (preferred)**:\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.search.documents import SearchClient\n\ncredential = DefaultAzureCredential()\nclient = SearchClient(endpoint, index_name, credential)\n```\n\n**API Key**:\n```python\nfrom azure.core.credentials import AzureKeyCredential\nfrom azure.search.documents import SearchClient\n\nclient = SearchClient(endpoint, index_name, AzureKeyCredential(api_key))\n```\n\n## Client Selection\n\n| Client | Purpose |\n|--------|---------|\n| `SearchClient` | Query indexes, upload/update/delete documents |\n| `SearchIndexClient` | Create/manage indexes, knowledge sources, knowledge bases |\n| `SearchIndexerClient` | Manage indexers, skillsets, data sources |\n| `KnowledgeBaseRetrievalClient` | Agentic retrieval with LLM-powered Q&A |\n\n## Index Creation Pattern\n\n```python\nfrom azure.search.documents.indexes import SearchIndexClient\nfrom azure.search.documents.indexes.models import (\n    SearchIndex, SearchField, VectorSearch, VectorSearchProfile,\n    HnswAlgorithmConfiguration, AzureOpenAIVectorizer,\n    AzureOpenAIVectorizerParameters, SemanticSearch,\n    SemanticConfiguration, SemanticPrioritizedFields, SemanticField\n)\n\nindex = SearchIndex(\n    name=index_name,\n    fields=[\n        SearchField(name=\"id\", type=\"Edm.String\", key=True),\n        SearchField(name=\"content\", type=\"Edm.String\", searchable=True),\n        SearchField(name=\"embedding\", type=\"Collection(Edm.Single)\",\n                   vector_search_dimensions=3072,\n                   vector_search_profile_name=\"vector-profile\"),\n    ],\n    vector_search=VectorSearch(\n        profiles=[VectorSearchProfile(\n            name=\"vector-profile\",\n            algorithm_configuration_name=\"hnsw-algo\",\n            vectorizer_name=\"openai-vectorizer\"\n        )],\n        algorithms=[HnswAlgorithmConfiguration(name=\"hnsw-algo\")],\n        vectorizers=[AzureOpenAIVectorizer(\n            vectorizer_name=\"openai-vectorizer\",\n            parameters=AzureOpenAIVectorizerParameters(\n                resource_url=aoai_endpoint,\n                deployment_name=embedding_deployment,\n                model_name=embedding_model\n            )\n        )]\n    ),\n    semantic_search=SemanticSearch(\n        default_configuration_name=\"semantic-config\",\n        configurations=[SemanticConfiguration(\n            name=\"semantic-config\",\n            prioritized_fields=SemanticPrioritizedFields(\n                content_fields=[SemanticField(field_name=\"content\")]\n            )\n        )]\n    )\n)\n\nindex_client = SearchIndexClient(endpoint, credential)\nindex_client.create_or_update_index(index)\n```\n\n## Document Operations\n\n```python\nfrom azure.search.documents import SearchIndexingBufferedSender\n\n# Batch upload with automatic batching\nwith SearchIndexingBufferedSender(endpoint, index_name, credential) as sender:\n    sender.upload_documents(documents)\n\n# Direct operations via SearchClient\nsearch_client = SearchClient(endpoint, index_name, credential)\nsearch_client.upload_documents(documents)      # Add new\nsearch_client.merge_documents(documents)       # Update existing\nsearch_client.merge_or_upload_documents(documents)  # Upsert\nsearch_client.delete_documents(documents)      # Remove\n```\n\n## Search Patterns\n\n```python\n# Basic search\nresults = search_client.search(search_text=\"query\")\n\n# Vector search\nfrom azure.search.documents.models import VectorizedQuery\n\nresults = search_client.search(\n    search_text=None,\n    vector_queries=[VectorizedQuery(\n        vector=embedding,\n        k_nearest_neighbors=5,\n        fields=\"embedding\"\n    )]\n)\n\n# Hybrid search (vector + keyword)\nresults = search_client.search(\n    search_text=\"query\",\n    vector_queries=[VectorizedQuery(vector=embedding, k_nearest_neighbors=5, fields=\"embedding\")],\n    query_type=\"semantic\",\n    semantic_configuration_name=\"semantic-config\"\n)\n\n# With filters\nresults = search_client.search(\n    search_text=\"query\",\n    filter=\"category eq 'technology'\",\n    select=[\"id\", \"title\", \"content\"],\n    top=10\n)\n```\n\n## Agentic Retrieval (Knowledge Bases)\n\nFor LLM-powered Q&A with answer synthesis, see references/agentic-retrieval.md.\n\nKey concepts:\n- **Knowledge Source**: Points to a search index\n- **Knowledge Base**: Wraps knowledge sources + LLM for query planning and synthesis\n- **Output modes**: `EXTRACTIVE_DATA` (raw chunks) or `ANSWER_SYNTHESIS` (LLM-generated answers)\n\n## Async Pattern\n\n```python\nfrom azure.search.documents.aio import SearchClient\n\nasync with SearchClient(endpoint, index_name, credential) as client:\n    results = await client.search(search_text=\"query\")\n    async for result in results:\n        print(result[\"title\"])\n```\n\n## Best Practices for Additional Patterns\n\n1. **Use environment variables** for endpoints, keys, and deployment names\n2. **Prefer `DefaultAzureCredential`** over API keys for production\n3. **Use `SearchIndexingBufferedSender`** for batch uploads (handles batching/retries)\n4. **Always define semantic configuration** for agentic retrieval indexes\n5. **Use `create_or_update_index`** for idempotent index creation\n6. **Close clients** with context managers or explicit `close()`\n\n## Field Types Reference\n\n| EDM Type | Python | Notes |\n|----------|--------|-------|\n| `Edm.String` | str | Searchable text |\n| `Edm.Int32` | int | Integer |\n| `Edm.Int64` | int | Long integer |\n| `Edm.Double` | float | Floating point |\n| `Edm.Boolean` | bool | True/False |\n| `Edm.DateTimeOffset` | datetime | ISO 8601 |\n| `Collection(Edm.Single)` | List[float] | Vector embeddings |\n| `Collection(Edm.String)` | List[str] | String arrays |\n\n## Error Handling\n\n```python\nfrom azure.core.exceptions import (\n    HttpResponseError,\n    ResourceNotFoundError,\n    ResourceExistsError\n)\n\ntry:\n    result = search_client.get_document(key=\"123\")\nexcept ResourceNotFoundError:\n    print(\"Document not found\")\nexcept HttpResponseError as e:\n    print(f\"Search error: {e.message}\")\n```\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","search","documents","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-azure-search-documents-py","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-search-documents-py","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 37911 github stars · SKILL.md body (14,302 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:50:39.515Z","embedding":null,"createdAt":"2026-04-18T21:33:03.489Z","updatedAt":"2026-05-18T18:50:39.515Z","lastSeenAt":"2026-05-18T18:50:39.515Z","tsv":"'-1000':687 '/document/content':617 '0':456,493 '0.1':280 '0.2':281 '1':265,662,1248 '10':308,347,389,408,439,490,1164 '100':686 '123':1357 '1536':200,282,329 '2':673,1258 '3':681,1266 '3072':944 '4':471,691,1274 '5':699,1116,1136,1283 '6':708,1293 '7':718 '8601':1330 'action':1385 'add':726,1070 'addit':758,763,782,797,822,1246 'agent':885,1165,1280 'ai':7,24,37,268,760,773 'algo':966,977 'algorithm':212,225,711,961,972 'alway':1275 'answer':745,1176,1207,1212 'aoai':989 'api':57,64,94,809,818,843,860,1262 'applic':1379 'array':1342 'ask':1423 'async':1213,1220,1235 'auth':811 'authent':63,820 'autocomplet':523,526 'automat':1043 'await':1230 'azur':2,6,23,45,51,55,59,79,85,92,112,118,267,301,397,422,759,772,777,788,792,800,804,816 'azure-ident':791 'azure-search-docu':44,776,787 'azure-search-documents-pi':1 'azure.core.credentials':72,847 'azure.core.exceptions':1347 'azure.identity':105,828 'azure.search.documents':68,101,252,832,851,1037 'azure.search.documents.aio':1217 'azure.search.documents.indexes':150,557,898 'azure.search.documents.indexes.models':154,561,902 'azure.search.documents.models':323,377,413,1100 'azureblob':586 'azurekeycredenti':74,90,168,261,573,849,859 'azureopenaivector':909,979 'azureopenaivectorizerparamet':910,986 'base':877,1168,1190 'bash':41,50,784,799 'basic':1090 'batch':684,1040,1044,1270 'batching/retries':1273 'best':660,667,1243 'bool':1325 'boundari':1431 'cannot':725 'capabl':39,337 'caption':453,744 'categori':465,479,488,1156 'chunk':1205 'clarif':1425 'clean':767 'clear':1398 'cli':749 'client':75,108,124,126,165,255,570,837,854,862,864,1024,1061,1228,1295 'client.autocomplete':528 'client.search':298,352,394,417,461,484,1231 'client.suggest':541 'client.upload':285 'close':1294,1301 'code':770 'collect':939,1331,1337 'combin':669 'concept':1181 'config':433,1007,1013,1147 'configur':226,428,700,734,743,962,1003,1008,1143,1278 'connect':587,589,599 'contain':591 'content':185,190,270,278,306,349,360,391,406,437,731,930,1017,1022,1162 'context':1297 'count':489,522 'creat':143,575,602,630,719,752,1285 'create/manage':872 'creation':723,894,1292 'credenti':89,122,835,842,1027,1050,1066,1226 'criteria':1434 'data':140,576,578,597,600,638,882,1203 'datasourc':584,643 'datetim':1328 'default':1002 'defaultazurecredenti':107,123,824,830,836,1260 'defin':1276 'deploy':991,994,1256 'desc':475 'describ':1386,1402 'dimens':199,283,330,702,943 'direct':1056 'document':4,47,131,249,263,286,287,293,498,593,688,779,790,870,1033,1054,1055,1068,1069,1073,1074,1080,1081,1084,1085,1355,1361 'e':1367 'e.message':1372 'edm':1305 'edm.boolean':1324 'edm.datetimeoffset':1327 'edm.double':1320 'edm.int32':1313 'edm.int64':1316 'edm.single':940,1332 'edm.string':925,932,1309,1338 'effici':690 'embed':328,334,706,937,993,997,1112,1118,1132,1138,1336 'enabl':674,755 'endpoint':53,77,81,110,114,167,257,572,802,839,856,990,1026,1047,1063,1223,1253 'enrich':38 'entityrecognitionskil':566,611 'entra':96 'environ':48,794,1250,1414 'environment-specif':1413 'eq':466,1157 'error':1343,1371 'except':1358,1364 'execut':1381 'exist':1076 'expert':1419 'explicit':1300 'extract':1202 'f':289,314,366,445,452,509,518,1369 'facet':481,487,496,500,502,506,510,513,515,519,521 'field':147,170,237,238,348,390,920,1015,1018,1020,1117,1137,1302 'file':729,730 'filter':458,464,693,1149,1155 'float':1321,1322,1334 'focus':765 'found':1363 'full':30,272 'full-text':29,271 'generat':1211 'get':333,495 'gt':470 'handl':1272,1344 'hnsw':217,230,710,733,965,976 'hnsw-algo':964,975 'hnswalgorithmconfigur':160,213,908,973 'httpresponseerror':1349,1365 'hybrid':16,34,371,664,746,1119 'id':97,173,264,304,358,404,435,477,923,1160 'idempot':1290 'ident':793 'idiomat':768 'import':69,73,102,106,151,155,253,324,378,414,558,562,829,833,848,852,899,903,1038,1101,1218,1348 'index':20,61,82,87,115,120,134,139,144,164,231,236,246,247,260,552,569,631,632,637,645,649,658,659,682,722,757,806,840,857,868,873,880,893,915,918,1023,1031,1032,1048,1064,1188,1224,1282,1288,1291 'index_client.create':243,1028 'indexer_client.create':594,625,655 'input':612,1428 'inputfieldmappingentri':567,613 'instal':40,43,780,786 'int':1314,1317 'integ':1315,1319 'integr':735 'iso':1329 'item':507 'k':344,386,1113,1133 'key':58,65,95,169,176,262,574,810,819,844,861,926,1180,1254,1263,1356 'keyword':294,374,672,1122 'knowledg':874,876,1167,1182,1189,1192 'knowledgebaseretrievalcli':884 'languag':679 'larg':714 'large-scal':713 'later':727 'len':291 'limit':1390 'list':1333,1339 'llm':889,1171,1194,1210 'llm-gener':1209 'llm-power':888,1170 'long':1318 'manag':135,879,1298 'map':137 'match':704,1399 'miss':1436 'mode':537,1201 'model':707,995,998 'multi':738 'multi-vector':737 'my-datasourc':582,641 'my-hnsw':215,228 'my-index':234,258,635,647 'my-semantic-config':430 'my-skillset':607,652 'my-suggest':534,547 'my-vector-profil':205,221 'name':62,83,88,116,121,172,179,184,189,204,214,220,227,233,429,501,511,533,546,581,592,606,614,620,623,634,640,646,651,807,841,858,917,919,922,929,936,948,957,963,968,974,981,992,996,1004,1010,1021,1049,1065,1144,1225,1257 'narrow':695 'natur':678 'nearest':345,387,1114,1134 'neighbor':346,388,1115,1135 'new':1071 'none':1107 'note':1308 'openai':970,983 'openai-vector':969,982 'oper':132,1034,1057 'order':472 'organ':621,624 'os.environ':78,84,91,111,117 'output':618,1200,1408 'outputfieldmappingentri':568,619 'overview':1389 'paramet':985 'pattern':747,762,783,798,823,895,1088,1214,1247 'permiss':1429 'pip':42,785 'plan':1197 'point':1184,1323 'power':890,1172 'practic':661,1244 'prefer':825,1259 'print':288,313,365,444,451,508,517,1240,1360,1368 'priorit':1014 'product':815,1265 'profil':203,208,218,224,947,951,955,960 'purpos':127,865 'py':5 'python':11,28,66,99,148,250,296,321,375,411,459,482,525,555,769,826,845,896,1035,1089,1215,1307,1345 'q':891,1173 'queri':327,331,339,342,354,356,381,384,400,402,424,680,740,867,1096,1109,1127,1129,1139,1154,1196,1234 'querytyp':415 'querytype.semantic':426 'rank':19,410,676,698 'rate':469,474,480,491 'raw':1204 'recommend':98,813 'refer':728,1304 'references/agentic-retrieval.md':1179 'references/semantic-ranking.md':741 'references/vector-search.md':732 'relev':668 'remov':1086 'requir':1427 'resourc':987 'resourceexistserror':1351 'resourcenotfounderror':1350,1359 'result':284,292,297,310,312,315,317,351,362,364,367,369,393,416,441,443,446,454,460,483,527,540,696,1092,1103,1123,1150,1229,1237,1239,1241,1353 'result.get':449 'results.get':505 'retriev':886,1166,1281 'review':1420 'safeti':1430 'scale':715 'scope':1401 'script':750 'scripts/setup_vector_index.py':748 'sdk':9,26,764 'sea':531,544 'search':3,8,15,17,25,35,46,52,56,60,80,86,93,113,119,129,198,202,210,240,242,269,276,295,299,302,320,336,372,395,398,418,423,462,485,529,542,665,717,756,761,774,778,789,801,805,817,942,946,953,1000,1060,1087,1091,1094,1098,1105,1120,1125,1152,1187,1232,1370 'search.captions':450,455 'search.score':318,370 'search.windows.net':54,803 'search_client.delete':1083 'search_client.get':1354 'search_client.merge':1072,1077 'search_client.search':1093,1104,1124,1151 'search_client.upload':1067 'searchabl':195,933,1311 'searchablefield':162,178,183 'searchclient':70,76,103,109,128,254,256,834,838,853,855,866,1059,1062,1219,1222 'searchfield':157,188,905,921,928,935 'searchfielddatatyp':158 'searchfielddatatype.collection':193 'searchfielddatatype.single':194 'searchfielddatatype.string':175,182,187 'searchindex':156,232,563,633,904,916 'searchindexcli':133,152,166,871,900,1025 'searchindexercli':138,559,571,878 'searchindexerdatasourceconnect':564,580 'searchindexerskillset':565,605 'searchindexingbufferedsend':1039,1046,1268 'see':1178 'select':303,357,403,434,476,550,863,1159 'semant':18,335,409,427,432,675,742,999,1006,1012,1141,1142,1146,1277 'semantic-config':1005,1011,1145 'semanticconfigur':912,1009 'semanticfield':914,1019 'semanticprioritizedfield':913,1016 'semanticsearch':911,1001 'sender':1052 'sender.upload':1053 'servic':277 'simplefield':163,171 'skill':610,1377,1393 'skill-azure-search-documents-py' 'skillset':22,142,554,603,604,609,628,629,650,654,881 'sourc':141,577,579,598,601,616,639,875,883,1183,1193 'source-sickn33' 'specif':1415 'stop':1421 'str':1310,1340 'string':588,590,1341 'substitut':1411 'success':1433 'suggest':524,532,536,539,545,549,720 'synonym':136 'synthesi':1177,1199,1208 'target':622,644 'task':1397 'technolog':467,1158 'test':1417 'text':31,273,300,396,419,457,463,486,530,543,615,1095,1106,1126,1153,1233,1312 'time':724 'titl':180,266,305,316,359,368,405,436,447,478,551,1161,1242 'top':307,407,438,492,1163 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1406 'tri':1352 'true':177,196,927,934 'true/false':1326 'twoterm':538 'type':125,174,181,186,192,425,585,924,931,938,1140,1303,1306 'updat':245,596,627,657,1030,1075,1287 'upload':248,290,1041,1079,1271 'upload/update/delete':869 'upsert':1082 'url':988 'use':12,663,692,709,775,1249,1267,1284,1375,1391 'valid':1416 'valu':503,516,520 'variabl':49,795,1251 'vector':14,32,146,191,197,201,207,209,223,239,241,275,279,319,332,338,341,343,350,353,355,373,380,383,385,392,399,401,670,701,716,736,739,754,941,945,950,952,959,967,971,978,980,984,1097,1108,1111,1121,1128,1131,1335 'vector-en':753 'vector-profil':949,958 'vectorizedqueri':325,340,379,382,1102,1110,1130 'vectorsearch':159,211,906,954 'vectorsearchprofil':161,219,907,956 'via':1058 'workflow':1383 'wrap':1191 'write':766","prices":[{"id":"1cca5a6e-178f-43d4-be64-248015f7f66a","listingId":"b816bc2e-02b9-4b02-96f6-30da901346b0","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:03.489Z"}],"sources":[{"listingId":"b816bc2e-02b9-4b02-96f6-30da901346b0","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-search-documents-py","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-search-documents-py","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:03.489Z","lastSeenAt":"2026-05-18T18:50:39.515Z"},{"listingId":"b816bc2e-02b9-4b02-96f6-30da901346b0","source":"skills_sh","sourceId":"sickn33/antigravity-awesome-skills/azure-search-documents-py","sourceUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-search-documents-py","isPrimary":true,"firstSeenAt":"2026-05-07T20:45:12.034Z","lastSeenAt":"2026-05-07T22:43:17.153Z"}],"details":{"listingId":"b816bc2e-02b9-4b02-96f6-30da901346b0","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-search-documents-py","github":{"repo":"sickn33/antigravity-awesome-skills","stars":37911,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-05-18T08:24:49Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"0532f82ec0d56facd06bc9f7c146958c45d4e168","skill_md_path":"skills/azure-search-documents-py/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-search-documents-py"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-search-documents-py","description":"Azure AI Search SDK for Python. Use for vector search, hybrid search, semantic ranking, indexing, and skillsets."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-search-documents-py"},"updatedAt":"2026-05-18T18:50:39.515Z"}}