Logo

dev-resources.site

for different kinds of informations.

Elasticsearch.Net vs NEST

Published at
11/2/2022
Categories
elasticsearch
nest
dotnet
nuget
Author
jjorozcodev
Categories
4 categories in total
elasticsearch
open
nest
open
dotnet
open
nuget
open
Author
11 person written this
jjorozcodev
open
Elasticsearch.Net vs NEST

ELK Stack: Kibana, Elasticsearch, Beats, Logstash

¿Qué es Elasticsearch?

Elasticsearch es un motor de búsqueda y analítica distribuido, gratuito y abierto para todos los tipos de datos, incluidos textuales, numéricos, geoespaciales, estructurados y no estructurados.

Conocido por sus API REST simples, naturaleza distribuida, velocidad y escalabilidad, Elasticsearch es el componente principal del Elastic Stack, un conjunto de herramientas gratuitas y abiertas para la ingesta, el enriquecimiento, el almacenamiento, el análisis y la visualización de datos.

Elasticsearch en proyectos .NET

Si nuestro propósito es interactuar con motores de búsqueda de texto completo de Elasticsearch desde nuestras aplicaciones en .NET, podemos disponer de los dos clientes oficiales de Elastic y su comunidad:

  • Elasticsearch.Net > Cliente de bajo nivel, libre de dependencias, permite interactuar directamente con el Elasticsearch API a través de métodos, además provee de mecanismos de reintento
  • NEST > Cliente de alto nivel, con un nivel de abstracción mayor permitiendo consultas fuertemente tipadas mediante Query DSL. Internamente usa y expone al cliente de Elasticsearch.Net

Instalación desde Visual Studio

Disponemos de dos vías para instalar ambos clientes:

Desde la Consola del Administrador de Paquetes

Desplegando el menú "Herramientas" en Visual Studio:
Package Manager Console
Comando para cliente Elasticsearch.Net:

PM> Install-Package Elasticsearch.Net
Enter fullscreen mode Exit fullscreen mode

Comando para cliente NEST:

PM> Install-Package NEST
Enter fullscreen mode Exit fullscreen mode

Desde la interfaz de usuario del administrador de paquetes NuGet
Click derecho sobre el proyecto o bien sobre la solución, y seleccionando en el menú contextual:

Manage NuGet Package
Posterior podemos usar el buscador para seleccionar e instalar los paquetes NuGet correspondientes:

NuGet Package Manager - Browser

Versión 8.x Prerelease

IMPORTANTE: La versión 7.17 se corresponde al último release estable de estos dos clientes oficiales para .NET, a partir de la versión 8.x se desarrolla un único cliente llamado Cliente .NET para Elasticsearch

Aunque la versión 8.x se encuentra actualmente en versión prerelease, desde Visual Studio podemos instalarlo de la siguiente manera:
Desde la Consola del Administrador de Paquetes
Utilizando el siguiente comando:

PM> Install-Package Elastic.Clients.Elasticsearch -IncludePrerelease
Enter fullscreen mode Exit fullscreen mode

Desde la interfaz de usuario del administrador de paquetes NuGet
Utilizando el buscador e incluyendo versiones prerelease:

Elastic.Clients.Elasticsearch version 8.x

Recursos útiles

Si quieres profundizar más sobre cómo preparar un ambiente local con Elasticsearch y cómo interactuar con él desde tus proyectos .NET, puede resultarte útil la siguiente sesión compartida en el canal oficial de la comunidad de Elastic:

Más información de cada uno de los clientes oficiales que Elastic dispone para .NET en su version 7.17:

Más información de la nueva versión 8.x del cliente .NET para Elasticsearch puedes indagar:

¿Tienes algún comentario?

Gracias por tu tiempo, espero éste artículo te haya resultado útil. Si tienes comentarios, por favor compártelos. 😉
Te invito a seguirme en Twitter y/o contactarme en LinkedIn.

nuget Article's
30 articles in total
Favicon
Simplifying Dependency Management with NuGet Central Package Management
Favicon
Failed to access Nuget in China
Favicon
Seu Primeiro Pacote NuGet: Um Passo a Passo Prático
Favicon
Central Package Management in .NET - Simplify NuGet Dependencies
Favicon
Custom NET8 Entity Framework Core Generic Repository
Favicon
How to publish a package on Nuget.org
Favicon
Automate Your C# Library Deployment: Publishing to NuGet and GitHub Packages with GitHub Actions
Favicon
My First NuGet Package: EmojiToText
Favicon
Publish C# Project to Nuget.org
Favicon
My Very First NuGet package
Favicon
Introducing VirtualStorageLibrary: A .NET Solution for In-Memory Tree Structures
Favicon
C# | Create Nuget Package using .NET Standard
Favicon
GitHub | Deploy .net core NuGet Packages in GitHub Packages Registry
Favicon
CSV Schema Validation
Favicon
Publishing Nuget in GitHub Packages
Favicon
.NET MAUI: Update NuGet Packages using Visual Studio Code
Favicon
How I Built a NuGet Package
Favicon
Lee's opinions on Umbraco + naming things
Favicon
Migrating the XM Cloud Introduction Repo to a new Nuget feed.
Favicon
How This NuGet Package Almost Cost Me My Job
Favicon
How to create and deploy a “Nuget Package” using Visual Studio
Favicon
How to change default Nuget packages folder on Windows
Favicon
How to Make a NuGet Package for C++ Development in Visual Studio
Favicon
Data Validation Nuget Package
Favicon
Create a NuGet-Package
Favicon
AspNetCore.VersionInfo 1.1.0 is out
Favicon
Deploying NuGet packages with Docker in GitHub actions
Favicon
Introducing TF WhatsUp, a Tool for Better Terraform Notes
Favicon
Creating a Nuget Package From a .Net 6 class library
Favicon
Elasticsearch.Net vs NEST

Featured ones: