Loading

.NET

Rapidly develop applications with the .NET client for Elasticsearch.

Designed for .NET application developers, the .NET language client library provides a strongly typed API and query DSL for interacting with Elasticsearch. The .NET client includes higher-level abstractions, such as helpers for coordinating bulk indexing and update operations. It also comes with built-in, configurable cluster failover retry mechanisms.

The Elasticsearch .NET client is available as a NuGet package for use with .NET Core, .NET 5+, and .NET Framework (4.6.1 and later) applications.

NOTE: This documentation covers the v8 .NET client for Elasticsearch, for use with Elasticsearch 8.x versions. To develop applications targeting Elasticsearch v7, use the v7 (NEST) client.

  • One-to-one mapping with the REST API.
  • Strongly typed requests and responses for Elasticsearch APIs.
  • Fluent API for building requests.
  • Query DSL to assist with constructing search queries.
  • Helpers for common tasks such as bulk indexing of documents.
  • Pluggable serialization of requests and responses based on System.Text.Json.
  • Diagnostics, auditing, and .NET activity integration.

The .NET Elasticsearch client is built on the Elastic Transport library, which provides:

  • Connection management and load balancing across all available nodes.
  • Request retries and dead connections handling.

Language clients are forward compatible: clients support communicating with current and later minor versions of Elasticsearch. Elasticsearch language clients are backward compatible with default distributions only and without guarantees.

To submit a bug report or feature request, use GitHub issues.

For more general questions and comments, try the community forum on discuss.elastic.co. Mention .NET in the title to indicate the discussion topic.