C# Code Samples - Analyzers & Scoring¶
This directory contains C# implementations for Azure AI Search analyzer and scoring profile examples using the Azure.Search.Documents SDK.
Prerequisites¶
dotnet add package Azure.Search.Documents
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.Json
Configuration¶
Create an appsettings.json file with your Azure AI Search service details:
{
"SearchServiceName": "your-search-service",
"SearchAdminKey": "your-admin-key",
"SearchQueryKey": "your-query-key",
"SearchIndexName": "analyzer-test-index"
}
Sample Files¶
Core Samples¶
01_BuiltinAnalyzers.cs- Compare built-in analyzers02_CustomAnalyzers.cs- Create and test custom analyzers05_BasicScoring.cs- Field weights and basic scoringConfig.cs- Configuration managementUtils.cs- Common utility functions
Running Samples¶
Individual Sample¶
Build and Run¶
Features Demonstrated¶
- Azure.Search.Documents SDK usage
- Async/await patterns with proper disposal
- Comprehensive error handling and logging
- Performance measurement and monitoring
- Index management and document operations
- Analyzer testing and validation
- Scoring profile implementation
Project Structure¶
csharp/
├── README.md
├── Config.cs # Configuration management
├── Utils.cs # Utility classes and helpers
├── 01_BuiltinAnalyzers.cs # Built-in analyzer comparison
├── 02_CustomAnalyzers.cs # Custom analyzer implementation
├── 05_BasicScoring.cs # Scoring profile examples
├── appsettings.json # Configuration file
└── AnalyzersScoringSamples.csproj # Project file
Best Practices Demonstrated¶
- Proper resource disposal with
usingstatements - Async programming patterns
- Configuration management with IConfiguration
- Structured logging with ILogger
- Exception handling and error recovery
- Performance monitoring and metrics collection