
AI
Aurora PostgreSQL에서 한국어 하이브리드 검색 구현하기: pg_bigm + pgvector로 만드는 한국어 특화 RAG
두줄요약
Aurora PostgreSQL에서 pg_bigm과 pgvector를 RRF로 결합해 한국어 하이브리드 검색을 구현하는 방법을 소개했습니다. 한국어 조사와 자연어 질문의 한계를 보완해 RAG 검색 품질을 높이는 구조와 예시를 제시했습니다.
핵심 내용
- Aurora PostgreSQL에서 pg_bigm 키워드 검색과 pgvector 시맨틱 검색을 RRF로 결합한 한국어 하이브리드 검색 RAG 구성
- 한국어 조사 변화, 복합어, 고유명사, 자연어 질문에서 단일 검색 방식의 한계를 상호 보완하는 구조
- Aurora PostgreSQL 인덱스 설계, RRF 결합 SQL 함수, Python 기반 Bedrock 연동 예시 제시
구조와 흐름
- S3 문서 수집 후 청킹, Titan Embeddings V2로 벡터화, Aurora PostgreSQL에 텍스트·임베딩 저장
- pg_bigm GIN 인덱스로 키워드 경로, pgvector HNSW 인덱스로 시맨틱 경로 분리
- 두 결과를 RRF로 결합해 Top-K 문서를 반환하고 Claude로 한국어 답변 생성
선택 이유
- pg_bigm은 한국어 조사와 정확한 키워드 매칭에 강점
- pgvector는 자연어 질문과 의미 기반 유사도 검색에 강점
- RRF는 점수 스케일이 다른 두 검색 결과를 순위 기반으로 공정하게 결합
주의할 점
- pg_bigm은 인덱스 크기 증가 가능성 존재
- HNSW는 ef_search 값에 따라 재현율과 속도 간 트레이드오프 발생
- RAG에서는 query_text에 핵심 키워드만 전달하고 원본 질문은 임베딩 생성에 활용 필요
적용해볼 점
- 500~1,000자 단위 청킹으로 검색 정확도와 인덱스 효율 조정
- 자주 쓰는 쿼리 임베딩 캐싱으로 Bedrock 호출 지연과 비용 완화
- 기술 용어가 많은 질문은 키워드 가중치를 높이는 방식으로 튜닝
