주의 이 프로젝트는 아직 프로덕션 환경에서 사용하기에 적합하지 않은 개발 단계의 프로젝트입니다.
SQLite FTS5 용 한국어 형태소 분석 토크나이저 확장 기능입니다. 이 프로젝트는 Garu 프로젝트를 기반으로 하며, Garu의 garu-core와 base 모델을 사용합니다.
- 형태소 기반 전문 검색 — "달렸다"로 검색하면 "달리는 사람", "나는 달렸다" 등 모든 활용형이 매칭됩니다.
- 임베디드 모델 — garu base 모델(1.7MB)이 바이너리에 포함되어 별도 파일 없이 동작합니다.
- Nori 스타일 불용태그 필터 — 조사, 어미, 기능어 등을 자동 제거하여 검색 정확도를 높입니다.
- 외국어/숫자 지원 — 영어, 숫자, 한자 등은 검색 대상으로 유지됩니다.
cargo build --release --features loadable빌드 결과: target/release/libsqlite_garu.dylib (macOS) / .so (Linux) / .dll (Windows)
.load libsqlite_garuCREATE VIRTUAL TABLE docs USING fts5(content, tokenize='garu');INSERT INTO docs VALUES ('달리는 사람');
INSERT INTO docs VALUES ('나는 달렸다');
INSERT INTO docs VALUES ('그녀도 달린다');
-- 활용형 검색: "달렸다"로 검색해도 모든 행이 매칭됩니다
SELECT * FROM docs WHERE docs MATCH '달렸다';
-- → 달리는 사람
-- → 나는 달렸다
-- → 그녀도 달린다cargo test참고:
cargo test는loadablefeature 없이 실행합니다.--features loadable을 붙이면 테스트가 실패합니다.
MIT