Orama: 고성능 전체 텍스트 도서 및 벡터 검색 엔진
일반 소개
Orama는 전체 텍스트 검색, 벡터 검색, 하이브리드 검색을 지원하는 타입스크립트로 작성된 오픈 소스 고성능 검색 엔진으로, 빠르고 안정적인 검색 기능을 제공하기 위해 모든 JavaScript 런타임 환경에서 작동하도록 설계되었습니다. 브라우저, 서버, 엣지 네트워크 등 다양한 애플리케이션 시나리오에 적합하도록 가볍지만(2KB 미만) 강력하게 설계되었으며, 전체 텍스트 검색, 벡터 검색, 하이브리드 검색, 지리적 검색, 맞춤법 허용오차 및 다국어 지원 등 다양한 기능을 제공하여 소규모 프로젝트부터 대규모 엔터프라이즈 애플리케이션까지 다양한 검색 요구사항을 충족할 수 있도록 합니다.

기능 목록
- 전체 텍스트 검색텍스트 콘텐츠의 빠르고 정확한 전체 텍스트 검색을 지원합니다.
- 벡터 검색이미지 및 오디오와 같은 비텍스트 데이터에 대한 벡터 기반 검색을 지원합니다.
- 하이브리드 검색전체 텍스트 검색과 벡터 검색을 결합하여 보다 포괄적인 검색 결과를 제공합니다.
- 고성능대용량 데이터에도 빠른 응답을 보장하는 최적화된 검색 알고리즘.
- 재정 자원 확장완전 오픈 소스로 사용자가 필요에 따라 커스터마이징하고 확장할 수 있습니다.
- 비의존적외부 종속성이 필요하지 않아 설치와 사용이 간편합니다.
- 멀티 플랫폼 지원Node.js 및 브라우저를 포함한 다양한 JavaScript 런타임 환경과 호환됩니다.
- 지리적 검색위치 기반 검색 기능을 지원합니다.
- 맞춤법 허용 오차맞춤법 오류 허용 오차를 제공하여 검색 환경을 개선합니다.
- 다국어 지원30개 언어의 스템밍 및 토큰화를 지원합니다.
도움말 사용
마운팅
Orama는 npm, yarn 또는 pnpm을 사용하여 설치할 수 있습니다. npm으로 설치하는 단계는 다음과 같습니다:
- 터미널 또는 명령줄 도구를 엽니다.
- 다음 명령을 실행하여 Orama를 설치합니다:
npm install @orama/orama
- 설치가 완료되면 프로젝트에 Orama를 도입할 수 있습니다:
import { create, insert, search } from '@orama/orama';
활용
인덱스 만들기
- 새 인덱스를 만듭니다:
const db = create({
schema: {
name: 'string',
description: 'string',
price: 'number',
embedding: 'vector[1536]',
meta: {
rating: 'number',
},
},
});
- 색인에 문서를 추가합니다:
insert(db, {
name: 'Noise cancelling headphones',
description: 'Best noise cancelling headphones on the market',
price: 99.99,
embedding: [0.2432, 0.9431, 0.5322, 0.4234, ...],
meta: { rating: 4.5 },
});
- 검색을 수행합니다:
const results = search(db, { term: 'Best headphones' });
console.log(results);
벡터 검색
- 벡터 인덱스를 생성합니다:
const vectorIndex = create({
schema: {
name: 'string',
embedding: 'vector[1536]',
},
});
- 인덱스에 벡터를 추가합니다:
insert(vectorIndex, {
name: 'Sample vector',
embedding: [0.1, 0.2, 0.3, ...],
});
- 벡터 검색을 수행합니다:
const vectorResults = search(vectorIndex, {
term: 'Sample vector',
mode: 'vector',
});
console.log(vectorResults);
고급 기능
또한 Orama는 사용자 지정 데이터 가져오기, 품질 검사, 분석 도구 및 보안 구성과 같은 다양한 고급 기능을 제공합니다. 사용자는 필요에 따라 이러한 기능을 구성하여 검색 환경을 최적화할 수 있습니다.
샘플 프로젝트
하루에 수백만 건의 쿼리를 처리하는 nodejs.org, jsr.io, tanstack.com 등 여러 유명 웹사이트에서 Orama를 사용하고 있으며, 이는 Orama의 성능과 안정성을 입증합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...