Elasticsearch .NET 클라이언트 진화: NEST에서 Elastic.Clients.Elasticsearch까지

Elasticsearch .NET 클라이언트의 발전과 NEST에서 Elastic.Clients.Elasticsearch로의 전환에 대해 알아보세요.

Elasticsearch를 직접 체험하려면 당사의 샘플 노트북을 살펴보거나, 무료 클라우드 체험판을 시작하거나, 지금 바로 로컬 기기에서 Elastic을 사용해 보세요.

NET 클라이언트 및 NEST 소개

.NET 환경에서는 개발자가 Elasticsearch의 강력한 검색 및 분석 기능과 상호 작용할 수 있는 강력한 인터페이스 역할을 하는 NEST 라이브러리를 통해 오랫동안 Elasticsearch와의 통합이 촉진되어 왔습니다. NESTElasticsearch용 네이티브 .NET 클라이언트에 대한 필요성에서 탄생한 이 제품은 풍부한 기능 세트와 원활한 통합 기능으로 개발자들 사이에서 빠르게 인기를 얻었습니다.

Elasticsearch의 첫 번째 커밋 이후 거의 14년 8개월 동안 NEST는 Elasticsearch 릴리스를 충실히 추적해 왔습니다.

NEST에서 Elastic.Clients.Elasticsearch로 전환하기

Elasticsearch가 발전함에 따라 NEST 의 복잡한 코드베이스를 유지 관리하는 것이 점점 더 어려워졌습니다. 클라이언트 개발에 대한 보다 지속 가능한 접근 방식의 필요성을 인식하고 .NET 클라이언트를 처음부터 다시 설계하는 여정을 시작했습니다. 첫 번째 베타 버전을 출시하는 데 거의 1년이 걸렸고, 모든 단일 서버 엔드포인트를 지원하는 데까지 1년이 더 걸렸습니다. 가장 어려운 결정 중 하나는 유지 관리의 우선순위를 정하기 위해 라이브러리의 범위를 축소하는 것이었습니다.

오늘날 Elasticsearch API 표면의 크기를 고려할 때, 450개가 넘는 엔드포인트와 거의 3000개에 달하는 유형(요청, 응답, 쿼리, 집계 등)을 수작업으로 유지하는 것은 더 이상 실용적이지 않습니다. 언어 클라이언트와 Elasticsearch 간의 일관되고 정확하며 시기적절한 조정을 보장하기 위해 이제 8.x 클라이언트와 많은 관련 유형이 공유 사양에서 자동으로 코드 생성됩니다. 이는 Azure, AWS 및 Google 클라우드 플랫폼용 SDK와 라이브러리 사이에서 클라이언트와 서버 간의 정렬을 유지하기 위한 일반적인 솔루션입니다.

Elasticsearch 사양은 8년 전에 NEST 에서 유형 매핑을 내보내서 만들어졌으며, 클라이언트 팀의 노력으로 이제 동일한 사양을 사용하여 새로운 .NET 클라이언트(및 Java, Go 등과 같은 여러 다른 언어용 클라이언트)를 만들 수 있게 되었습니다.

8.13 버전 출시와 함께 NEST 의 사용 중단이 공식 발표되었습니다. Elasticsearch가 Elastic.Clients.Elasticsearch 로 전환됨에 따라 NEST 은 점차 단계적으로 폐지되어 올해 말에 수명이 다할 예정입니다. 개발자는 원활한 전환을 보장하고 잠재적인 중단을 완화하기 위해 마이그레이션 작업을 조기에 시작할 것을 적극 권장합니다. Elastic.Clients.Elasticsearch 을 수용하면 최신 서버 기능과의 호환성을 보장할 뿐만 아니라 더 이상 사용되지 않는 기능에 대한 애플리케이션의 미래 보장도 가능합니다.

Elastic.Clients.Elasticsearch: 기능 및 변경 사항 개요

v8 클라이언트( Elastic.Clients.Elasticsearch )로 전환하면 Elasticsearch 8의 모든 새로운 기능에 액세스할 수 있으며 라이브러리 자체에 수많은 현대화 기능을 제공하지만 이전 버전에 비해 편의 기능이 감소합니다. 새로운 핵심 기능으로는 쿼리 언어 ES|QL, 최신 머신 러닝(ML) 기능, OpenTelemetry 호환 활동의 형태로 개선된 진단 기능이 있습니다. 버전 8.13부터 Elastic.Clients.Elasticsearch 은 Elasticsearch 8의 거의 모든 서버 기능을 지원합니다.

예를 들어 중요한 획기적인 변화는 집계와 관련된 것입니다. NEST 에서 유창한 API 사용법은 다음과 같습니다:

를 사용하는 반면, v8 클라이언트에는 다음 구문이 필요합니다:

NEST v7에서 .NET 클라이언트 v8로 마이그레이션하기

종합적인 마이그레이션 가이드는 여기에서 확인할 수 있습니다: 마이그레이션 가이드: NEST v7에서 .NET Client v8로.

추가 리소스

관련 콘텐츠

최첨단 검색 환경을 구축할 준비가 되셨나요?

충분히 고급화된 검색은 한 사람의 노력만으로는 달성할 수 없습니다. Elasticsearch는 여러분과 마찬가지로 검색에 대한 열정을 가진 데이터 과학자, ML 운영팀, 엔지니어 등 많은 사람들이 지원합니다. 서로 연결하고 협력하여 원하는 결과를 얻을 수 있는 마법 같은 검색 환경을 구축해 보세요.

직접 사용해 보세요