DEV Community

Cover image for Elasticsearch.Net vs NEST
JJ Orozco López
JJ Orozco López

Posted on

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.

Top comments (1)

Collapse
 
xaberue profile image
Xavier Abelaira Rueda

Buena explicación introductoria! Gracias!