
백엔드
GloZ의 Amazon OpenSearch Service를 기반으로 한 자연어 이력서 검색 시스템 구축 사례 — Part 1: 데이터 파이프라인과 인덱싱
두줄요약
Amazon OpenSearch Service로 다국어 이력서 검색 파이프라인과 인덱싱 구조를 재설계했습니다. 전처리, 정규화, 임베딩 입력 전략이 검색 정확도를 크게 좌우했습니다.
문제 상황
- 약 10만 명 번역가 풀에서 다국어 이력서를 빠르게 선별해야 하는 검색 요구
- PostgreSQL 메타데이터 필터링과 자체 벡터 검색 조합의 운영 한계, 하이브리드 검색 부재, 한국어·다국어 처리 미흡
원인 분석
- 벡터 검색과 BM25 키워드 검색이 분리되어 단일 쿼리 처리 어려움
- 이력서 원문 품질과 형식이 다양해 LLM·OCR·파싱 전처리 없이는 구조화 어려움
- 동의어, 약어, 표기 변형이 많아 표준화된 메타데이터 체계 필요
해결 방법
- Amazon OpenSearch Service로 전환해 BM25와 k-NN 벡터 검색을 하나의 엔진에서 처리
- S3 업로드 → Lambda → Bedrock Claude Haiku 4.5 → Ingest Pipeline → Cohere 임베딩 생성 흐름 구축
- Nori 분석기, keyword 필드, HNSW + L2, 요약+메타데이터 평탄화 입력 전략 적용
성능/운영 포인트
- 원문 전체보다 요약+키워드 결합 입력이 nDCG@10 0.852로 가장 우수
- default_pipeline과 ML Connector로 인덱싱 시 임베딩 자동 생성
- 완전관리형 서비스와 인덱스 표준 기능으로 갱신·모니터링·확장 부담 완화
적용해볼 점
- 검색 품질은 모델보다 전처리·정규화·입력 텍스트 설계 영향이 큼
- 다국어 문서에서는 별칭 사전과 퍼지 매칭을 포함한 표준 어휘 체계가 유효
- 정확 검색과 의미 검색을 함께 쓰는 하이브리드 구조가 후보 선별에 적합
