Rapidly develop applications with the .NET client for Elasticsearch.
Designed for .NET client-application developers, you can utilize the .NET language client library, which provides a strongly-typed API and query DSL to interact with Elasticsearch. The .NET client library is designed to make it easy to use Elasticsearch from your .NET applications. 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 that can be used in .NET Core, .NET 5+ and .NET Framework (4.6.1 and higher) applications.
NOTE: This documentation relates to the v8 .NET client for Elasticsearch, designed for use with Elasticsearch 8.x versions. To develop applications targetting Elasticsearch v7, you should use the v7 (NEST) client.
- One-to-one mapping with 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 upon the Elastic Transport library which provides:
- Connection management and load balancing across all available nodes.
- Request retries and dead connections handling.
Elasticsearch version compatibilityedit
Language clients are forward compatible; meaning that clients support communicating with greater or equal minor versions of Elasticsearch. Elasticsearch language clients are only backwards compatible with default distributions and without guarantees made.
Questions, bugs, comments, feature requestsedit
Bug reports and feature requests are more than welcome on the github issues pages!
For more general questions and comments, we monitor questions and discussions
opened on our community forum, discuss.elastic.co.
.NET in the title helps folks quickly identify what
the question is about.