{"id":27302494,"url":"https://github.com/vikpires/ds_azure-ai-search","last_synced_at":"2025-10-11T04:53:03.962Z","repository":{"id":282807165,"uuid":"949231547","full_name":"vikpires/DS_azure-AI-search","owner":"vikpires","description":"Exploring the capabilities of Azure AI Search by Azure AI Services to index documents and query indexes.","archived":false,"fork":false,"pushed_at":"2025-03-17T02:51:46.000Z","size":15410,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T02:51:24.086Z","etag":null,"topics":["ai-900","azure","azure-ai-search","data-science","dio-bootcamp"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vikpires.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-16T01:01:11.000Z","updated_at":"2025-03-18T14:23:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"c9536ea5-ed5e-417f-b0b0-fbd89a9cb6f1","html_url":"https://github.com/vikpires/DS_azure-AI-search","commit_stats":null,"previous_names":["vikpires/ds_azure-ai-search"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vikpires/DS_azure-AI-search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikpires%2FDS_azure-AI-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikpires%2FDS_azure-AI-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikpires%2FDS_azure-AI-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikpires%2FDS_azure-AI-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vikpires","download_url":"https://codeload.github.com/vikpires/DS_azure-AI-search/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikpires%2FDS_azure-AI-search/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006210,"owners_count":26084062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-900","azure","azure-ai-search","data-science","dio-bootcamp"],"created_at":"2025-04-12T02:47:40.512Z","updated_at":"2025-10-11T04:53:03.950Z","avatar_url":"https://github.com/vikpires.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure AI Search\n\n\u003e Challenge created as part of the Microsoft AI Fundamentals Bootcamp by DIO, based on the tutorial:\n\n- [Explore an Azure AI Search index (UI)](https://aka.ms/ai900-ai-search)\n\n---\n\n## 1. Explore an Azure AI Search index (UI)\n\n### 1.1. Provision an Azure AI services resource\n\n- Start by provisioning an Azure AI services in the Azure portal.\n\n- Search for *Azure AI services* in the Azure portal and create a new **Azure AI Search** resource.\n\n- Search for *Storage Account* in the Azure portal and create a **Storage Account** resource.\n\n### 1.2. Upload documents to Azure Storage\n- In the left-hand menu pane, select **Containers**. Create a Container to upload the files.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/storage-blob.png\" title=\"Creating a container\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\n- The files used can be found in the folder \u003ca href= './inputs'\u003einput\u003c/a\u003e.\n\n- In the **Upload blob pane**, select **Select a file** and upload all files.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/azure-container-upload-files.png\" title=\"Uploading files in container\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\n### 1.3. Index the documents\n\n- Now you can use Azure AI Search to extract insights from the documents. \n\n-  The Azure portal provides an Import data wizard. With this wizard, you can automatically create an index and indexer for supported data sources. \n\n- In the Azure AI resource, on the **Overview** page, select **Import data**. \n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/azure-search-wizard.png\" title=\"Azure Search Wizard\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\n- On the *Connect to your data* page, in the *Data Source* list, select **Azure Blob Storage**. Complete the data store details with the following values: \n\n```\n    Data Source: Azure Blob Storage\n    Data source name: coffee-customer-data\n    Data to extract: Content and metadata\n    Parsing mode: Default\n    Connection string: *Select Choose an existing connection. Select your storage account, select the coffee-reviews container, and then click Select.\n    Managed identity authentication: None\n    Container name: this setting is auto-populated after you choose an existing connection.\n    Blob folder: Leave this blank.\n    Description: Reviews for Fourth Coffee shops.\n```\n- In the Attach AI Services section, select your Azure AI services resource.\n\n- In the Add enrichments section: \n    - Change the Skillset name to **coffee-skillset**.\n    - Select the checkbox **Enable OCR and merge all text into merged_content field**.\n    - Ensure that the **Source data field** is set to **merged_content**.\n    - Change the **Enrichment granularity level** to **Pages (5000 character chunks)**.\n    - Don’t select *Enable incremental enrichment*\n    - Select the following enriched fields:\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/enriched-fields.png\" title=\"enriched fields\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\n- Under **Save enrichments to a knowledge store**, select: \n\n    - Image projections\n    - Documents\n    - Pages\n    - Key phrases\n    - Entities\n    - Image details\n    - Image references\n\n- Select **Choose an existing connection**. Choose the storage account you created earlier. \n\n- Select **Azure blob projections: Document**. A setting for *Container name with the knowledge-store* container auto-populated displays. Don’t change the container name.\n\n- Select **Next: Customize target index**. Change the **Index name** to **coffee-index**.\n\n- Ensure that the **Key** is set to **metadata_storage_path**. Leave **Suggester name** blank and **Search mode** autopopulated.\n\n- Review the index fields’ default settings. Select **filterable** for all the fields that are already selected by default.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/customize-index.png\" title=\"Customizing index\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n- The field names that need to be marked **filterable** include: *content*, *locations*, *keyphrases*, *sentiment*, *merged_content*, *text*, *layoutText*, *imageTags*, *imageCaption*.\n\n- Select Next: **Create an indexer**, change the **Indexer name** to **coffee-indexer** and leave the **Schedule** set to **Once**.\n\n- Expand the **Advanced options**. Ensure that the **Base-64 Encode Keys** option is selected, as encoding keys can make the index more efficient.\n\n- Select **Submit** to create the data source, skillset, index, and indexer. \n\n- Return to your *Azure AI Search* resource page. On the left pane, under **Search Management**, select **Indexers**. Select the newly created **coffee-indexer**.\n\n- Select the indexer name to see more details.\n\n### 1.4. Output\n\n**Indexer:**\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./output/coffee-indexer.png\" title=\"coffee indexer\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n- JSON attributes generated with positive sentiment \u003ca href= './output/coffee-indexer-positive-sentiment.json'\u003ehere\u003c/a\u003e.\n\n- JSON attributes generated with negative sentiment \u003ca href= './output/coffee-indexer-negative-sentiment.json'\u003ehere\u003c/a\u003e.\n\n### 1.5. Query the index\n\n- Use the *Search* explorer to write and test queries. Search explorer is a tool built into the Azure portal that gives you an easy way to validate the quality of your search index.\n\n- In your *Search* service’s Overview page, select **Search explorer** at the top of the screen.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/search-explorer.png\" title=\"Search explorer\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n- Change the view to **JSON view**.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/search-explorer-query.png\" title=\"Search explorer query\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n- In the JSON query editor field, copy and paste:\n\n```\n{\n    \"search\": \"*\",\n    \"count\": true\n}\n```\n\n- Select **Search**. The search query returns all the documents in the search index, including a count of all the documents in the **@odata.count** field. \n\n- Filtering by location: \n\n```\n{\n \"search\": \"locations:'Chicago'\",\n \"count\": true\n}\n\n```\n\n- Filtering by sentiment: \n\n```\n{\n \"search\": \"sentiment:'negative'\",\n \"count\": true\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikpires%2Fds_azure-ai-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvikpires%2Fds_azure-ai-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikpires%2Fds_azure-ai-search/lists"}