Azure Cognitive Search libraries for .NET


Azure Cognitive Search is a fully managed cloud search service that provides a rich search experience over content in web, mobile, and enterprise applications. The client library is used to access and execute indexing and search operations on a search service, index, documents, and other objects.

Libraries for data access

After an Azure Cognitive Search resource is created and configured, use data access libraries to create and consume search objects in client applications.

Version 11

The Azure.Search.Documents is a new client library for .NET developers who want to use search technology in their applications. In contrast with the v10 legacy client library, this version takes dependencies on Azure.Core and System.Text.Json, implementing standard approaches in terms of service configuration, authentication, document serialization, and other tasks.

Use the Azure.Search.Documents library when creating new projects that use Azure Cognitive Search objects. Moving forward, all new features and enhancements will roll out here.

Library Reference Package Source
Azure.Search.Documents Reference NuGet GitHub

There is only one package and one client library for this version.

If you have existing search applications that call the v10 legacy libraries, be aware that v11 has different clients, namespaces, and class names. You will need to migrate existing code to use the new library. When reviewing code samples and content, be sure to check for the namespace (using Azure.Search.Documents;) to confirm whether the v11 client library is demonstrated.

Version 10 (legacy)

Use Microsoft.Azure.Search libraries to maintain existing solutions. This version is supported, but with the exception of security hotfixes, no further updates are planned for this library. For an introduction, see How to use Microsoft.Azure.Search (v10).

Library Reference Package Source
Microsoft.Azure.Search Reference NuGet GitHub
Microsoft.Azure.Search.Common Reference
Microsoft.Azure.Search.Models Reference
Microsoft.Azure.Search.Models.Internal Reference
Microsoft.Azure.Search.Serialization Reference
Microsoft.Azure.Search.Serialization.internal Reference

Libraries for resource management

Use the Azure Cognitive Search management library to provision a service, manage api-keys, and adjust resources. Service management has a dependency on Azure Resource Manager for subscriber and tenant identification. Typically, authentication and application registration with Azure Active Directory is also necessary to support the workflow. For an introduction to Azure Cognitive Search service provisioning, see How to use the Management REST API.

Library Reference Package Source
Microsoft.Azure.Management.Search Reference NuGet GitHub