피드로 돌아가기
How /search and /ask Work: Local Hybrid RAG with ChromaDB + SQLite FTS5
Dev.toDev.to
AI/ML

Hybrid Search 도입으로 1.8만 건 이메일 3초 내 정밀 검색 구현

How /search and /ask Work: Local Hybrid RAG with ChromaDB + SQLite FTS5

Sviatoslav Barbutsa2026년 5월 11일15intermediate

Context

Semantic Search의 모호한 토큰 매칭 한계와 Keyword Search의 개념적 쿼리 처리 불가 문제를 동시에 해결해야 하는 요구사항 발생. 단순 Vector DB 기반 RAG 구조로는 정확한 ID나 송신자 기반 검색 시 낮은 재현율(Recall)을 보이는 아키텍처적 제약 존재.

Technical Solution

  • ChromaDB(Semantic)와 SQLite FTS5(Keyword)를 병렬로 실행하여 상호 보완적 검색 결과 도출
  • 각 엔진의 점수를 정규화한 후 가중 합산하는 단순 Weighted Scoring Function을 통한 결과 병합(Rank Fusion)
  • Raw Body 대신 LLM 기반 Summary를 Embedding 하여 서명, 면책 조항 등 노이즈를 제거한 고밀도 Vector 텍스트 구축
  • /ask 명령 수행 시 Source Threshold(0.3)를 적용하여 연관성 낮은 인용구를 제거하는 후처리 필터링 구현
  • 메일 유입 시점에 요약 및 구조화를 완료하는 Pre-processing 파이프라인 설계를 통해 런타임 검색 부하 최소화

- 검색 정확도 향상을 위해 Semantic/Keyword 검색의 Hybrid 구조 검토 - Vector DB 저장 전 LLM 요약을 통한 Noise 제거 및 데이터 밀도 최적화 적용 - RAG 응답 생성 시 최소 점수 임계값(Threshold)을 설정하여 Hallucination 및 무관한 인용구 제거

원문 읽기