피드로 돌아가기
Dev.toDatabase
원문 읽기
PostgreSQL 기반 Hybrid Search로 정밀도와 의미론적 검색 동시 확보
Building Hybrid Search with PostgreSQL, pgvector, and Citus
AI 요약
Context
네트워킹 하드웨어와 같은 기술 카탈로그에서 단순 Keyword Search는 SKU나 약어 등 정확한 일치 항목 검색에 강하나, 의미적 유사성 파악에 한계 노출. Vector Search만 사용할 경우 모델의 추상화로 인해 구체적인 제품 스펙(포트 수, PoE 여부 등)의 정밀한 매칭 실패 가능성 존재.
Technical Solution
- PostgreSQL Full-text Search와 pgvector를 병행 운용하는 Hybrid Search 구조 설계로 Precision과 Recall 동시 확보
- 벡터 간 방향성에 집중하여 텍스트 길이 차이로 인한 영향을 최소화하는 Cosine Distance 메트릭 채택
- 서로 다른 점수 체계를 가진 두 검색 결과의 순위를 통합하기 위해 Reciprocal Rank Fusion(RRF) 알고리즘 적용
- 검색 속도 최적화를 위해 Vector Search에 HNSW 인덱스를 도입하여 고차원 데이터의 쿼리 지연 시간 단축
- 초기 단일 노드 구성 후 데이터 규모 및 트래픽 증가 시 Citus를 통한 분산 아키텍처로의 확장 경로 확보
- 도메인 특화 용어(SMF, MMF 등) 인식을 위해 512~768 차원의 기술 특화 Embedding Model 검토
실천 포인트
- 정확한 SKU 검색이 중요한 도메인에서는 Vector Search 단독 사용보다 Hybrid Search 도입 검토 - 벡터 거리 측정 시 텍스트 길이 변화가 심한 데이터셋이라면 Cosine Similarity 우선 적용 - 시스템 복잡도 증가를 막기 위해 단일 DB 내에서 Full-text Search와 Vector Search를 통합 관리하는 pgvector 활용 - 초기 단계부터 분산 시스템을 도입하기보다 단일 노드 성능 최적화 후 Citus 등으로 Scale-out 전략 수립