검색 형태소 분석 사전 배포 과정 개선하기

검색 형태소 분석 사전 배포 과정 개선하기

17
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

검색 형태소 분석 사전 배포 과정 개선

이 게시물은 당근 검색플랫폼팀이 검색 형태소 분석 사전의 배포 과정을 개선한 프로젝트를 소개합니다.

기존 문제점 및 개선 필요성

  • 기존에는 기본 사전 업데이트 시 Elasticsearch 검색 클러스터 전체 배포가 필요해 운영 리스크가 큼
  • 사전 업데이트 빈도 증가로 인해 배포 최소화와 안정성 확보가 중요했음

개선 아이디어와 도전

  • 사전 데이터를 외부 파일로 분리하고 로컬 파일 시스템에서 로드하도록 플러그인 구조 변경 시도
  • 싱글톤 패턴을 제거해 여러 사전 버전을 메모리에 올려야 해서 힙 메모리 사용량 급증 문제 발생
  • 인덱스 스키마에 다중 Tokenizer 정의로 메모리 사용량이 증가함을 발견

재시도 및 최적화

  • 불필요한 사전 데이터를 제거해 플러그인 크기를 33MB에서 7MB로 경량화
  • 최대 2개의 최신 사전만 힙에 로드하는 싱글톤 매니저 객체 도입으로 메모리 사용 최적화
  • 프로덕션에 안전하게 배포해 사전 업데이트 주기를 월 1회에서 일 1회로 단축

향후 계획

  • 다른 클러스터로 점진적 배포 확대
  • 업데이트 알람 및 모니터링 고도화
  • 실패 시 Fallback 구성 등 안정성 강화 작업 진행 예정