Experimente o Elasticsearch na prática: Mergulhe em nossos notebooks de amostra, inicie um teste gratuito na nuvem ou experimente o Elastic em sua máquina local agora mesmo.
Introdução ao cliente .NET e ao NEST
No mundo .NET, a integração com o Elasticsearch tem sido facilitada há muito tempo pela biblioteca NEST , que serve como uma interface robusta para os desenvolvedores interagirem com os poderosos recursos de pesquisa e análise do Elasticsearch. NEST, que surgiu da necessidade de um cliente .NET nativo para o Elasticsearch, rapidamente ganhou popularidade entre os desenvolvedores por seu rico conjunto de recursos e capacidades de integração perfeitas.
Durante quase 14 anos e apenas 8 meses após o primeiro commit do Elasticsearch, o NEST tem acompanhado fielmente os lançamentos do Elasticsearch.
Transição do NEST para o Elastic.Clients.Elasticsearch
À medida que o Elasticsearch evoluiu, a manutenção da complexa base de código do NEST tornou-se cada vez mais difícil. Reconhecemos a necessidade de uma abordagem mais sustentável para o desenvolvimento de clientes e embarcamos em uma jornada para redesenhar o cliente .NET desde a sua base. Levamos quase um ano para lançar a primeira versão beta e mais um ano para chegar perto de oferecer suporte a todos os endpoints de servidor. Uma das decisões mais difíceis foi reduzir o escopo da biblioteca para priorizar a facilidade de manutenção.
Considerando o tamanho da superfície da API do Elasticsearch hoje, não é mais viável manter manualmente mais de 450 endpoints e quase 3000 tipos (requisições, respostas, consultas, agregações, etc.). Para garantir um alinhamento consistente, preciso e oportuno entre os clientes de linguagem e o Elasticsearch, os clientes da versão 8.x e muitos dos tipos associados agora são gerados automaticamente a partir de uma especificação compartilhada. Essa é uma solução comum para manter o alinhamento entre cliente e servidor em SDKs e bibliotecas, como as do Azure, AWS e Google Cloud Platform.
A especificação do Elasticsearch foi criada há mais de 8 anos exportando os mapeamentos de tipo de NEST e, graças ao trabalho árduo da equipe de clientes, agora podemos usar a mesma especificação para criar um novo cliente .NET (e clientes para várias outras linguagens, como Java, Go, etc.).
Com o lançamento da versão 8.13, a descontinuação de NEST foi oficialmente anunciada. À medida que o Elasticsearch migra para Elastic.Clients.Elasticsearch, NEST será gradualmente descontinuado, chegando ao fim de sua vida útil no final do ano. Recomenda-se vivamente aos desenvolvedores que iniciem os esforços de migração o quanto antes para garantir uma transição tranquila e mitigar quaisquer potenciais interrupções. A adoção do Elastic.Clients.Elasticsearch não só garante a compatibilidade com os recursos mais recentes do servidor, como também protege os aplicativos contra funcionalidades obsoletas no futuro.
Elastic.Clients.Elasticsearch: visão geral de recursos e alterações
A mudança para o cliente v8 Elastic.Clients.Elasticsearch permite o acesso a todos os novos recursos do Elasticsearch 8 e também traz inúmeras modernizações para a própria biblioteca, mas também implica uma redução nos recursos de conveniência em comparação com seu antecessor. Algumas das novas funcionalidades principais incluem a linguagem de consulta ES|QL, capacidades modernas de aprendizagem automática (ML) e diagnósticos melhorados sob a forma de atividades compatíveis com OpenTelemetry. A partir da versão 8.13, Elastic.Clients.Elasticsearch suporta quase todos os recursos de servidor do Elasticsearch 8.
Uma importante mudança disruptiva, por exemplo, está relacionada às agregações. Em NEST, o uso da API fluente se parece com isto:
enquanto o cliente v8 requer a seguinte sintaxe:
Migrando do NEST v7 para o cliente .NET v8
Um guia de migração completo está disponível aqui: Guia de migração: do NEST v7 para o .NET Client v8.

