Edit

Share via


C# samples for Azure AI Search

Learn about C# code samples that demonstrate the functionality and workflow of an Azure AI Search solution. These samples use the Azure AI Search client library for the Azure SDK for .NET, which you can explore through the following links.

Target Link
Package download nuget.org/packages/Azure.Search.Documents/
API reference Azure.Search.Documents
API test cases github.com/Azure/azure-sdk-for-net/tree/main/sdk/search/Azure.Search.Documents/tests
Source code github.com/Azure/azure-sdk-for-net/tree/main/sdk/search/Azure.Search.Documents/src
Change log github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/CHANGELOG.md

SDK samples

Code samples from the Azure SDK development team demonstrate API usage. You can find these samples in Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples on GitHub.

Sample Description
Hello world (synchronous) Create a client, authenticate, and handle errors using synchronous methods.
Hello world (asynchronous) Create a client, authenticate, and handle errors using asynchronous methods.
Service-level operations Get service statistics and create multiple search objects, including an index, indexer, data source, skillset, and synonym map. Finally, you query the index.
Index operations Get a count of documents stored in an index.
FieldBuilderIgnore Use an attribute to work with unsupported data types.
Indexing documents (push model) Use the push model to index documents by sending a JSON payload to an index.
Customer-managed encryption keys Use a customer-managed encryption key to protect sensitive content.
Vector search Index a vector field and perform vector search.
Semantic ranking Configure semantic ranker in an index and run semantic queries.

Doc samples

Code samples from the Azure AI Search team demonstrate features and workflows. The following samples are referenced in tutorials, quickstarts, and how-to articles that explain the code in detail. You can find these samples in Azure-Samples/azure-search-dotnet-samples and Azure-Samples/search-dotnet-getting-started on GitHub.

Sample Article Description
quickstart Quickstart: Full-text search Create, load, and query an index using sample data.
quickstart-agentic-retrieval Quickstart: Agentic retrieval Integrate semantic ranking with LLM-powered query planning and answer generation.
quickstart-rag Quickstart: Generative search (RAG) Use grounding data from Azure AI Search with a chat completion model from Azure OpenAI.
quickstart-semantic-search Quickstart: Semantic ranking Add semantic ranking to an index schema and run semantic queries.
quickstart-vector-search Quickstart: Vector search Index and query vector content.
create-mvc-app Tutorial: Add search to an ASP.NET Core (MVC) app Add basic search, pagination, and other server-side behaviors to an MVC web app, unlike the console applications used in most samples.
search-website Tutorial: Add search to web apps Build an end-to-end search app that uses the push API for bulk upload and a rich client for hosting the app and handling search requests.
tutorial-ai-enrichment Tutorial: AI-generated searchable content from Azure blobs Create a skillset that iterates over Azure blobs to extract information and infer structure.
multiple-data-sources Tutorial: Index from multiple data sources Merge content from two data sources into one index.
optimize-data-indexing Tutorial: Optimize indexing with the push API Use optimization techniques for pushing data into an index.
DotNetHowTo Use the .NET client library Create and manage multiple search objects while learning about the APIs.
DotNetToIndexers Tutorial: Index Azure SQL data Configure an Azure SQL indexer with a schedule, field mappings, and parameters.
DotNetHowToEncryptionUsingCMK Configure customer-managed keys for data encryption Create objects that are encrypted with a customer-managed key.

Accelerators

An accelerator is an end-to-end solution that includes code and documentation you can adapt for your own implementation of a specific scenario.

Sample Description
search-qna-maker-accelerator Solution that combines Azure AI Search and QnA Maker. See the live demo site.

Demos

A demo repo provides proof-of-concept source code for examples or scenarios shown in demonstrations. Unlike accelerators, demo solutions aren't designed for adaptation.

Sample Description
covid19search Source code repo for the Azure AI Search-based Covid-19 search app.
AzureSearch_JFK_Files Source code repo for the Azure AI Search-based JFK files solution.

Other samples

The following samples are also published by the Azure AI Search team but aren't referenced in documentation. Associated README files provide usage instructions.

Sample Description
check-storage-usage Check search service storage on a schedule using an Azure function.
export-data Partition and export a large index using a C# console app.
index-backup-restore Copy an index from one service to another, creating JSON files with the index schema and documents.
data-lake-gen2-acl-indexing Index Azure Data Lake Gen2 files and folders secured with Microsoft Entra ID and role-based access control.
multiple-search-services Query multiple search services and combine results into a single page.
search-aggregations Obtain and filter aggregations from an index.
azure-search-power-skills Incorporate consumable custom skills into your own solutions.
DotNetVectorDemo Create, load, and query a vector index.
DotNetIntegratedVectorizationDemo Extend the vector workflow to include skills-based automation for data chunking and embedding.

Tip

Use the samples browser to search for Microsoft code samples on GitHub. You can filter your search by product, service, and language.