Experimenta con Elasticsearch: Sumérgete en nuestros cuadernos de muestra, inicia una prueba gratuita del cloud o prueba Elastic en tu máquina local ahora.
Introducción al cliente .NET y NEST
En el mundo .NET, la integración con Elasticsearch fue facilitada durante mucho tiempo por la biblioteca NEST , que sirve como una interfaz robusta para que los desarrolladores interactúen con las poderosas capacidades de búsqueda y análisis de Elasticsearch. NEST, nacida de la necesidad de un cliente .NET nativo para Elasticsearch, ganó rápidamente popularidad entre los desarrolladores por su amplio conjunto de funciones y sus integraciones fluidas.
Durante casi 14 años y solo 8 meses después del primer commit de Elasticsearch , NEST estuvo siguiendo fielmente las versiones de Elasticsearch.
Transición de NEST a Elastic.Clients.Elasticsearch
A medida que Elasticsearch evolucionó, mantener la compleja base de código de NESTse volvió cada vez más difícil. Reconocimos la necesidad de un enfoque más sostenible en el desarrollo de clientes y emprendimos un camino para rediseñar el cliente .NET desde cero. Nos llevó casi un año lanzar la primera versión beta y otro año más acercarnos a dar soporte a todos y cada uno de los endpoints de servidor. Una de las decisiones más difíciles fue reducir el alcance de la biblioteca para priorizar la mantenibilidad.
Dado el tamaño actual de la superficie de la API de Elasticsearch, ya no es práctico mantener manualmente más de 450 endpoints y casi 3000 tipos (solicitudes, respuestas, consultas, agregaciones, etc.). Para cerciorar una alineación consistente, precisa y oportuna entre los clientes del lenguaje y Elasticsearch, los clientes 8.x y muchos de los tipos asociados ahora se generan automáticamente por código a partir de una especificación compartida. Esta es una solución común para mantener la alineación entre cliente y servidor entre SDKs y librerías, como los de Azure, AWS y la Google Cloud Platform.
La especificación Elasticsearch se creó hace más de 8 años exportando los mapeos de tipos de NEST y, gracias al arduo trabajo del equipo de clientes, ahora podemos usar la misma especificación para crear un nuevo cliente .NET (y clientes para varios otros lenguajes como Java, Go, etc.).
Con el lanzamiento de la versión 8.13, se anunció oficialmente la desaparición de NEST . A medida que Elasticsearch se transforma en Elastic.Clients.Elasticsearch, NEST irá desapareciendo gradualmente, alcanzando su fin de vida útil al final del año. Se anima encarecidamente a los promotores a iniciar los esfuerzos de migración con antelación para garantizar una transición fluida y mitigar posibles interrupciones. Adoptar Elastic.Clients.Elasticsearch no solo garantiza compatibilidad con las últimas funciones del servidor, sino que también protege a futuro las aplicaciones contra funcionalidades obsoletas.
Elastic.Clients.Elasticsearch: resumen de características y cambios
Cambiar al cliente v8 Elastic.Clients.Elasticsearch permite acceder a todas las nuevas funciones de Elasticsearch 8 y también aporta numerosas modernizaciones a la propia biblioteca, pero implica una reducción en las características de comodidad en comparación con su predecesor. Algunas de las nuevas características principales incluyen el lenguaje de consultas ES|QL, capacidades modernas de aprendizaje automático (ML) y diagnósticos mejorados en forma de actividades compatibles con OpenTelemetry. A partir de la versión 8.13, Elastic.Clients.Elasticsearch soporta casi todas las funciones de servidor de Elasticsearch 8.
Un cambio importante de ruptura, por ejemplo, está relacionado con las agregaciones. En NEST, el uso fluido de la API es así:
mientras que el cliente v8 requiere la siguiente sintaxis:
Migración de NEST v7 a .NET client v8
Aquí está disponible una guía completa de migración: Guía de migración: De NEST v7 a .NET Client v8.

