{"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# Azure AI Search Python SDK\n\nWrite clean, idiomatic Python code for Azure AI Search using `azure-search-documents`.\n\n## Installation\n\n```bash\npip install azure-search-documents azure-identity\n```\n\n## Environment Variables\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\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\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 · 34928 github stars · SKILL.md body (14,210 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-04-24T18:50:33.640Z","embedding":null,"createdAt":"2026-04-18T21:33:03.489Z","updatedAt":"2026-04-24T18:50:33.640Z","lastSeenAt":"2026-04-24T18:50:33.640Z","tsv":"'-1000':687 '/document/content':617 '0':456,493 '0.1':280 '0.2':281 '1':265,662,1238 '10':308,347,389,408,439,490,1157 '100':686 '123':1347 '1536':200,282,329 '2':673,1248 '3':681,1256 '3072':937 '4':471,691,1264 '5':699,1109,1129,1273 '6':708,1283 '7':718 '8601':1320 'action':1375 'add':726,1063 'addit':758 'agent':878,1158,1270 'ai':7,24,37,268,760,764,775 'algo':959,970 'algorithm':212,225,711,954,965 'alway':1265 'answer':745,1169,1200,1205 'aoai':982 'api':57,64,94,805,814,836,853,1252 'applic':1369 'array':1332 'ask':1413 'async':1206,1213,1228 'auth':807 'authent':63,816 'autocomplet':523,526 'automat':1036 'await':1223 'azur':2,6,23,45,51,55,59,79,85,92,112,118,267,301,397,422,759,763,774,779,787,791,796,800,812 'azure-ident':790 'azure-search-docu':44,778,786 'azure-search-documents-pi':1 'azure.core.credentials':72,840 'azure.core.exceptions':1337 'azure.identity':105,821 'azure.search.documents':68,101,252,825,844,1030 'azure.search.documents.aio':1210 'azure.search.documents.indexes':150,557,891 'azure.search.documents.indexes.models':154,561,895 'azure.search.documents.models':323,377,413,1093 'azureblob':586 'azurekeycredenti':74,90,168,261,573,842,852 'azureopenaivector':902,972 'azureopenaivectorizerparamet':903,979 'base':870,1161,1183 'bash':41,50,783,795 'basic':1083 'batch':684,1033,1037,1260 'batching/retries':1263 'best':660,667,1236 'bool':1315 'boundari':1421 'cannot':725 'capabl':39,337 'caption':453,744 'categori':465,479,488,1149 'chunk':1198 'clarif':1415 'clean':769 'clear':1388 'cli':749 'client':75,108,124,126,165,255,570,830,847,855,857,1017,1054,1221,1285 'client.autocomplete':528 'client.search':298,352,394,417,461,484,1224 'client.suggest':541 'client.upload':285 'close':1284,1291 'code':772 'collect':932,1321,1327 'combin':669 'concept':1174 'config':433,1000,1006,1140 'configur':226,428,700,734,743,955,996,1001,1136,1268 'connect':587,589,599 'contain':591 'content':185,190,270,278,306,349,360,391,406,437,731,923,1010,1015,1155 'context':1287 'count':489,522 'creat':143,575,602,630,719,752,1275 'create/manage':865 'creation':723,887,1282 'credenti':89,122,828,835,1020,1043,1059,1219 'criteria':1424 'data':140,576,578,597,600,638,875,1196 'datasourc':584,643 'datetim':1318 'default':995 'defaultazurecredenti':107,123,817,823,829,1250 'defin':1266 'deploy':984,987,1246 'desc':475 'describ':1376,1392 'dimens':199,283,330,702,936 'direct':1049 'document':4,47,131,249,263,286,287,293,498,593,688,781,789,863,1026,1047,1048,1061,1062,1066,1067,1073,1074,1077,1078,1345,1351 'e':1357 'e.message':1362 'edm':1295 'edm.boolean':1314 'edm.datetimeoffset':1317 'edm.double':1310 'edm.int32':1303 'edm.int64':1306 'edm.single':933,1322 'edm.string':918,925,1299,1328 'effici':690 'embed':328,334,706,930,986,990,1105,1111,1125,1131,1326 'enabl':674,755 'endpoint':53,77,81,110,114,167,257,572,798,832,849,983,1019,1040,1056,1216,1243 'enrich':38 'entityrecognitionskil':566,611 'entra':96 'environ':48,793,1240,1404 'environment-specif':1403 'eq':466,1150 'error':1333,1361 'except':1348,1354 'execut':1371 'exist':1069 'expert':1409 'explicit':1290 'extract':1195 'f':289,314,366,445,452,509,518,1359 'facet':481,487,496,500,502,506,510,513,515,519,521 'field':147,170,237,238,348,390,913,1008,1011,1013,1110,1130,1292 'file':729,730 'filter':458,464,693,1142,1148 'float':1311,1312,1324 'found':1353 'full':30,272 'full-text':29,271 'generat':1204 'get':333,495 'gt':470 'handl':1262,1334 'hnsw':217,230,710,733,958,969 'hnsw-algo':957,968 'hnswalgorithmconfigur':160,213,901,966 'httpresponseerror':1339,1355 'hybrid':16,34,371,664,746,1112 'id':97,173,264,304,358,404,435,477,916,1153 'idempot':1280 'ident':792 'idiomat':770 'import':69,73,102,106,151,155,253,324,378,414,558,562,822,826,841,845,892,896,1031,1094,1211,1338 '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,802,833,850,861,866,873,886,908,911,1016,1024,1025,1041,1057,1181,1217,1272,1278,1281 'index_client.create':243,1021 'indexer_client.create':594,625,655 'input':612,1418 'inputfieldmappingentri':567,613 'instal':40,43,782,785 'int':1304,1307 'integ':1305,1309 'integr':735 'iso':1319 'item':507 'k':344,386,1106,1126 'key':58,65,95,169,176,262,574,806,815,837,854,919,1173,1244,1253,1346 'keyword':294,374,672,1115 'knowledg':867,869,1160,1175,1182,1185 'knowledgebaseretrievalcli':877 'languag':679 'larg':714 'large-scal':713 'later':727 'len':291 'limit':1380 'list':1323,1329 'llm':882,1164,1187,1203 'llm-gener':1202 'llm-power':881,1163 'long':1308 'manag':135,872,1288 'map':137 'match':704,1389 'miss':1426 'mode':537,1194 'model':707,988,991 '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,803,834,851,910,912,915,922,929,941,950,956,961,967,974,985,989,997,1003,1014,1042,1058,1137,1218,1247 'narrow':695 'natur':678 'nearest':345,387,1107,1127 'neighbor':346,388,1108,1128 'new':1064 'none':1100 'note':1298 'openai':963,976 'openai-vector':962,975 'oper':132,1027,1050 'order':472 'organ':621,624 'os.environ':78,84,91,111,117 'output':618,1193,1398 'outputfieldmappingentri':568,619 'overview':1379 'paramet':978 'pattern':747,762,888,1081,1207 'permiss':1419 'pip':42,784 'plan':1190 'point':1177,1313 'power':883,1165 'practic':661,1237 'prefer':818,1249 'print':288,313,365,444,451,508,517,1233,1350,1358 'priorit':1007 'product':811,1255 'profil':203,208,218,224,940,944,948,953 'purpos':127,858 'py':5 'python':11,28,66,99,148,250,296,321,375,411,459,482,525,555,766,771,819,838,889,1028,1082,1208,1297,1335 'q':884,1166 'queri':327,331,339,342,354,356,381,384,400,402,424,680,740,860,1089,1102,1120,1122,1132,1147,1189,1227 'querytyp':415 'querytype.semantic':426 'rank':19,410,676,698 'rate':469,474,480,491 'raw':1197 'recommend':98,809 'refer':728,1294 'references/agentic-retrieval.md':1172 'references/semantic-ranking.md':741 'references/vector-search.md':732 'relev':668 'remov':1079 'requir':1417 'resourc':980 'resourceexistserror':1341 'resourcenotfounderror':1340,1349 'result':284,292,297,310,312,315,317,351,362,364,367,369,393,416,441,443,446,454,460,483,527,540,696,1085,1096,1116,1143,1222,1230,1232,1234,1343 'result.get':449 'results.get':505 'retriev':879,1159,1271 'review':1410 'safeti':1420 'scale':715 'scope':1391 'script':750 'scripts/setup_vector_index.py':748 'sdk':9,26,767 '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,765,776,780,788,797,801,813,935,939,946,993,1053,1080,1084,1087,1091,1098,1113,1118,1145,1180,1225,1360 'search.captions':450,455 'search.score':318,370 'search.windows.net':54,799 'search_client.delete':1076 'search_client.get':1344 'search_client.merge':1065,1070 'search_client.search':1086,1097,1117,1144 'search_client.upload':1060 'searchabl':195,926,1301 'searchablefield':162,178,183 'searchclient':70,76,103,109,128,254,256,827,831,846,848,859,1052,1055,1212,1215 'searchfield':157,188,898,914,921,928 'searchfielddatatyp':158 'searchfielddatatype.collection':193 'searchfielddatatype.single':194 'searchfielddatatype.string':175,182,187 'searchindex':156,232,563,633,897,909 'searchindexcli':133,152,166,864,893,1018 'searchindexercli':138,559,571,871 'searchindexerdatasourceconnect':564,580 'searchindexerskillset':565,605 'searchindexingbufferedsend':1032,1039,1258 'see':1171 'select':303,357,403,434,476,550,856,1152 'semant':18,335,409,427,432,675,742,992,999,1005,1134,1135,1139,1267 'semantic-config':998,1004,1138 'semanticconfigur':905,1002 'semanticfield':907,1012 'semanticprioritizedfield':906,1009 'semanticsearch':904,994 'sender':1045 'sender.upload':1046 'servic':277 'simplefield':163,171 'skill':610,1367,1383 'skill-azure-search-documents-py' 'skillset':22,142,554,603,604,609,628,629,650,654,874 'sourc':141,577,579,598,601,616,639,868,876,1176,1186 'source-sickn33' 'specif':1405 'stop':1411 'str':1300,1330 'string':588,590,1331 'substitut':1401 'success':1423 'suggest':524,532,536,539,545,549,720 'synonym':136 'synthesi':1170,1192,1201 'target':622,644 'task':1387 'technolog':467,1151 'test':1407 'text':31,273,300,396,419,457,463,486,530,543,615,1088,1099,1119,1146,1226,1302 'time':724 'titl':180,266,305,316,359,368,405,436,447,478,551,1154,1235 'top':307,407,438,492,1156 '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':1396 'tri':1342 'true':177,196,920,927 'true/false':1316 'twoterm':538 'type':125,174,181,186,192,425,585,917,924,931,1133,1293,1296 'updat':245,596,627,657,1023,1068,1277 'upload':248,290,1034,1072,1261 'upload/update/delete':862 'upsert':1075 'url':981 'use':12,663,692,709,777,1239,1257,1274,1365,1381 'valid':1406 'valu':503,516,520 'variabl':49,794,1241 '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,934,938,943,945,952,960,964,971,973,977,1090,1101,1104,1114,1121,1124,1325 'vector-en':753 'vector-profil':942,951 'vectorizedqueri':325,340,379,382,1095,1103,1123 'vectorsearch':159,211,899,947 'vectorsearchprofil':161,219,900,949 'via':1051 'workflow':1373 'wrap':1184 'write':768","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-04-24T18:50:33.640Z"}],"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":34928,"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-04-24T06:41:17Z","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":"cbd00d78bde858096d11501073aeba50c5aaaaac","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-04-24T18:50:33.640Z"}}