SeekStorm/SeekStorm
SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in Rust.
해결하는 문제
SeekStorm은 벡터 및 어휘(키워드) 검색 모두에 대해 서브 밀리초 대기 시간을 제공하도록 설계된 고성능 검색 엔진입니다. 값비싼 클러스터나 독점 하드웨어 가속기를 필요로 하지 않고 단일 상용 서버에서 수십억 규모의 인덱스를 처리할 수 있는 통합 검색 시스템의 요구를 해결하며, 대량 인덱싱 중에도 안정적인 성능을 유지합니다.
작동 방식
SeekStorm은 "트윈 코어" 아키텍처를 채택하여 두 개의 독립적인 네이티브 인덱스 아키텍처를 사용합니다. 어휘 관련성을 위한 역색인과 벡터 유사성을 위한 ANN(근사 최근접 이웃) 인덱스입니다. 그런 다음 쿼리 플래너는 Reciprocal Rank Fusion(RRF)과 같은 다양한 퓨전 유형을 사용하여 이러한 결과를 결합하는 방법을 결정하여 하이브리드 검색 기능을 제공합니다. Rust로 작성되었으며 x86-64 및 AArch64 아키텍처 모두에서 SIMD 하드웨어 가속을 활용합니다.
대상 사용자
검색 집약적 애플리케이션, RAG(검색 증강 생성) 시스템, 또는 다양한 플랫폼(Windows, Linux, MacOS)에서 대규모 데이터 세트에 대한 실시간 저지연 검색이 필요한 서비스를 구축하는 개발자를 대상으로 합니다.
주요 특징
- 하이브리드 검색: 단일 쿼리 플래너 아래에서 벡터 및 어휘 검색 엔진을 네이티브로 통합.
- 성능: 서브 밀리초 쿼리 대기 시간 및 높은 처리량의 샤딩 인덱싱(노트북에서 초당 최대 35K 문서).
- 통합 추론: Model2Vec을 사용하여 텍스트 필드에서 직접 임베딩을 생성하고 인덱싱하는 기능.
- 다용성: 프로세스 내 라이브러리와 멀티 테넌시 REST 서버로 모두 사용 가능하며 Rust, Python, C#, Java, TypeScript용 SDK를 제공.
- 고급 검색 기능: 패싯 검색, 지리적 근접 검색, 오타 허용, 문서가 즉시 검색 가능한 실시간 인덱싱을 지원.
- 확장성: 낮은 RAM 소비로 수십억 규모의 인덱스를 지원하며 리소스 집약적인 세그먼트 병합이 필요 없음.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트