SeekStorm/SeekStorm
SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in Rust.
해결하는 문제
SeekStorm은 벡터(의미적) 검색과 키워드(어휘적) 검색을 결합한 고성능 검색 솔루션을 제공합니다. 단일 일반 서버에서 밀리초 미만의 검색 지연과 높은 처리량을 달성하며, 고가의 클러스터나 전용 하드웨어 가속기의 필요성을 제거하면서도 수십억 규모의 인덱스를 지원합니다.
작동 방식
SeekStorm은 어휘 검색을 위한 역인덱스와 벡터 검색을 위한 ANN(근사 최근접 이웃) 인덱스라는 두 가지 별도의 네이티브 인덱스 아키텍처를 갖춘 '이중 코어' 아키텍처를 사용합니다. 통합 쿼리 플래너가 이 엔진들을 관리하여, Reciprocal Rank Fusion(RRF)을 사용해 결과를 결합함으로써 순수 어휘 검색, 순수 벡터 검색, 또는 하이브리드 검색을 수행할 수 있습니다. Rust로 구현되었으며, x86-64 및 ARM 아키텍처의 SIMD 하드웨어 가속을 활용합니다.
대상 사용자
빠르고 확장 가능한 검색 엔진이 필요한 개발자들을 위한 것입니다. 프로세스 내 라이브러리 또는 멀티테넌시 서버로 사용할 수 있습니다. 실시간 검색, 복잡한 필터링, 또는 낮은 꼬리 지연(P99)이 중요한 고병렬 환경을 필요로 하는 애플리케이션에 특히 유용합니다.
주요 특징
- 하이브리드 검색: 하나의 쿼리 플래너 아래에서 벡터 검색 엔진과 어휘 검색 엔진을 네이티브로 통합.
- 극도의 성능: 밀리초 미만의 지연과 높은 인덱싱 속도(노트북에서 최대 35K 문서/초).
- 통합 추론: Model2Vec를 사용해 텍스트 필드에서 임베딩을 자동 생성하고 인덱싱 가능.
- 실시간 인덱싱: 리소스 집약적인 세그먼트 병합을 필요로 하지 않고, 인덱싱 직후 검색 가능.
- 고급 검색 기능: 패싯 검색, 지리적 근접 검색, 오타 내성, 그리고 구문 검색을 위한 N-gram 인덱싱을 지원.
- 멀티테넌시 서버: RESTful API, API 키 관리, 그리고 인덱스 관리를 위한 내장 웹 UI를 포함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트