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.

Coloque a mão na massa com o Elasticsearch: mergulhe nos nossos notebooks de amostra no repositório Elasticsearch Labs, inicie uma avaliação gratuita na nuvem ou conheça o Elastic na sua máquina local agora.

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

Quão útil foi este conteúdo?

Não útil

Um pouco útil

Muito útil

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)