핵심 요약
크몽은 Elasticsearch 기반의 검색 인프라를 활용해 입력된 검색어를 노말라이즈/토크나이즈하고, 커스텀 형태소 분석기와 사전 리소스를 통해 서비스 도큐먼트를 효율적으로 매칭하는 검색 파이프라인을 구축했습니다.
구현 방법
- Elasticsearch 인덱스와 배치/실시간 색인 파이프라인으로 도큐먼트를 인덱싱 지속
- 클라이언트·백엔드 검증과 금지어 필터링으로 요청 유효성 확보
- 노말라이즈: 허용 문자 보존, 공백 축소, 소문자화; 토크나이징 병행
- 커스텀 Elasticsearch Plugin으로 형태소 분석기 커스터마이즈
- 동의어/불용어/사용자 사전을 Git 기반으로 버전 관리
- 쿼리 생성에서 노말라이즈 문자열과 토큰을 조합, 필터 반영
- BM25 매칭과 다중 필드 가중치로 최종 정렬
주요 결과
- 다층 쿼리와 가중치로 검색 품질과 적합성 향상
- 사전 리소스의 안정적 적용과 배포 체계 확립


