Evolução do cliente Elasticsearch .NET: do NEST ao Elastic.Clients.Elasticsearch

Saiba mais sobre a evolução do cliente Elasticsearch .NET e a transição do NEST para o Elastic.Clients.Elasticsearch.

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.

Recursos adicionais

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)