실시간 인덱싱과 SQL을 지원하는 오픈소스 검색 데이터베이스로, 전문 검색·벡터 검색·하이브리드 검색을 제공하며 Elasticsearch의 대안으로 활용할 수 있습니다.
quickwit-oss/tantivy
Apache Lucene에서 영감을 받은 Rust 전문 검색 엔진 라이브러리로, 애플리케이션에 맞춤형 검색 기능을 구현할 수 있습니다.
대체할 수 있는 제품:Elasticsearch
Apache Solr
- 스타
- 16,247
- 포크
- 1,017
- 열린 이슈
- 484
- 마지막 커밋
- 20시간 전
어떤 프로젝트인가요?
Tantivy는 자체 소프트웨어에 전문 검색 기능을 구현할 수 있는 Rust 크레이트입니다. 독립 실행형 검색 서버가 아니라, 개발자가 API를 사용해 스키마를 정의하고 문서를 인덱싱하며 쿼리를 실행합니다. 설계는 Apache Lucene을 충실히 따르며, Lucene과 동일한 순위 산정 방식을 제공하는 BM25 스코어링을 사용합니다.
이 라이브러리는 일반적인 검색 구성 요소를 제공합니다. 여기에는 17개 라틴 문자 기반 언어의 어간 추출을 지원하는 설정 가능한 토크나이저, 구문 및 범위 쿼리, AND/OR 연산자를 사용하는 자연어 쿼리 언어, 패싯 검색이 포함됩니다. 필드는 텍스트, 정수, 부동소수점 수, 날짜, IP 주소, 불리언 또는 JSON으로 지정할 수 있으며, fast field는 Lucene의 doc values처럼 동작합니다. 문서는 LZ4, Zstd 또는 무압축 방식으로 저장할 수 있고, 집계 collector는 히스토그램, 범위 버킷, 기본 통계를 제공합니다.
Tantivy는 증분 인덱싱과 멀티스레드 인덱싱을 지원하며, 10ms 미만에 시작하므로 CLI 도구에 적합합니다. 중국어와 일본어 토큰화에는 서드파티 토크나이저 크레이트를 연결해 사용할 수 있습니다. 안정 버전 Rust에서 동작하며 Linux, macOS, Windows를 지원합니다.
핵심 기능
- 01Lucene과 동일한 순위 산정 방식의 BM25 스코어링
- 0217개 라틴 문자 기반 언어의 어간 추출을 지원하는 설정 가능한 토크나이저
- 03구문, 범위 및 자연어 불리언 쿼리
- 04증분 및 멀티스레드 인덱싱
- 05fast field, 패싯 검색 및 집계
- 06LZ4, Zstd 또는 무압축 방식의 문서 저장소
활용 사례
- 별도의 서버를 실행하지 않고 Rust 애플리케이션에 전문 검색 기능 추가
- 빠르게 시작하는 맞춤형 CLI 검색 도구 구축
- 로컬 검색을 위한 이메일 또는 메시지 아카이브 인덱싱
- Lucene 스타일 쿼리가 필요한 서비스에 검색 엔진 임베딩
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/quickwit-oss/tantivy.git - 2
프로젝트 디렉터리로 이동합니다
cd tantivy - 3
Cargo(stable Rust)로 테스트를 실행합니다
cargo test
사용 전 알아둘 점
- Rust 라이브러리이며 바로 실행할 수 있는 검색 서버가 아니므로, 이를 기반으로 자체 검색 애플리케이션을 구축해야 합니다.
- 분산 검색은 범위에 포함되지 않습니다. 분산 검색에는 Quickwit을 사용하세요.
- 문서는 변경할 수 없으므로 수정하려면 삭제한 뒤 다시 인덱싱해야 합니다.
- 중국어와 일본어 토큰화에는 서드파티 crate가 사용됩니다.
토픽
자주 묻는 질문
- tantivy은(는) 무엇인가요?
- Apache Lucene에서 영감을 받은 Rust 전문 검색 엔진 라이브러리로, 애플리케이션에 맞춤형 검색 기능을 구현할 수 있습니다. Tantivy는 자체 소프트웨어에 전문 검색 기능을 구현할 수 있는 Rust 크레이트입니다. 독립 실행형 검색 서버가 아니라, 개발자가 API를 사용해 스키마를 정의하고 문서를 인덱싱하며 쿼리를 실행합니다. 설계는 Apache Lucene을 충실히 따르며, Lucene과 동일한 순위 산정 방식을 제공하는 BM25 스코어링을 사용합니다.
- tantivy은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- tantivy은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- tantivy은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. tantivy의 마지막 커밋은 2026년 10월 21일입니다.
- tantivy은(는) 어디에 사용할 수 있나요?
- 별도의 서버를 실행하지 않고 Rust 애플리케이션에 전문 검색 기능 추가 빠르게 시작하는 맞춤형 CLI 검색 도구 구축 로컬 검색을 위한 이메일 또는 메시지 아카이브 인덱싱 Lucene 스타일 쿼리가 필요한 서비스에 검색 엔진 임베딩
- tantivy는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/quickwit-oss/tantivy.git 프로젝트 디렉터리로 이동합니다: cd tantivy Cargo(stable Rust)로 테스트를 실행합니다: cargo test
- tantivy은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/quickwit-oss/tantivy
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Go로 작성된 경량 단일 바이너리 전문 검색 엔진으로, 앱 검색에 Elasticsearch보다 간단한 대안을 제공합니다.
Java로 작성된 고성능 풀 기능 텍스트 검색 엔진 라이브러리로, 검색 애플리케이션의 기반으로 사용됩니다.
Redis에 전문 검색, 보조 인덱싱, 벡터 유사도 및 집계 쿼리를 추가하는 Redis 모듈입니다.
Apache Solr는 전문 검색, 벡터 검색, 지리 공간 검색을 지원하는 Apache Lucene 기반 오픈소스 멀티모달 검색 플랫폼입니다.
기존 Postgres 데이터베이스에 전문 검색, 벡터 검색, BM25 점수화 및 집계를 추가하는 Postgres 확장 프로그램입니다.