Introduction

edit

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.

Features

edit
  • 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.

Elasticsearch version compatibility

edit

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.

Questions, bugs, comments, feature requests

edit

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.