
AI
GloZ의 Amazon OpenSearch Service를 기반으로 한 자연어 이력서 검색 시스템 구축 사례 — Part 2: 하이브리드 검색과 자연어 쿼리 변환
두줄요약
OpenSearch 기반 이력서 검색에서 하이브리드 검색과 자연어→DSL 변환을 최적화한 사례를 다뤘습니다. Function Calling과 RAG를 결합해 검색 정확도와 응답 속도를 개선했습니다.
문제 상황
- 번역가 이력서 검색에서 자연어 쿼리의 복합 조건 처리와 정확한 DSL 변환이 어려운 상황
- BM25와 벡터 검색의 분리된 결합으로 AND/OR/NOT 조건 반영과 랭킹 일관성 저하
원인 분석
- 자연어 표현의 모호성으로 언어쌍, 도메인, 도구 조건을 과도하거나 잘못 추출하는 문제
- LLM이 인덱스의 실제 필드 값 분포를 모르기 때문에 존재하지 않거나 과도한 필터 값 생성
- 검색 단계와 메타데이터 필터링의 분리로 하이브리드 검색 제어와 검증이 어려움
해결 방법
- OpenSearch Search Pipeline으로 BM25와 벡터 점수를 정규화·결합하고 가중치 Grid Search로 최적 조합 탐색
- Bedrock Claude Haiku 4.5의 Function Calling으로 검색 파라미터만 추출하고 DSL 조립은 백엔드 코드가 담당
- 과거 변환 예시를 별도 인덱스로 저장해 RAG few-shot을 주입하고 표준 어휘 검증·정규화 적용
적용해볼 점
- 모호한 조건은 필터보다 query_text에 남겨 의미 검색에 맡기는 필터 최소화 원칙
- 하이브리드 검색 도메인에서는 가중치 프리셋과 실행 환경별 튜닝의 필요성
- 결과 스트리밍과 단계적 응답으로 체감 속도 개선
