
복합어 보존과 모델 번호 특수문자 검색 노이즈까지 완벽 제어하는 똑똑한 Multi-field 설계 방식
본 아티클은 LINE Plus 통합 커머스 개발팀이 기존 Elasticsearch 7.x와 Kuromoji 분석기의 제약을 극복하고 OpenSearch와 Sudachi 기반의 검색 환경으로 이관한 상세 기술 아키텍처를 소개합니다. 노후화된 사전으로 인한 검색 누락, 복합어 분해 문제를 형태소 분석기 제어 및 커스텀 분석기 튜닝을 통해 영리하게 해결합니다. 특히 대용량 인덱스 환경에서 성능 저하를 방지하기 위해 Multi-field를 설계하고 트레이드오프를 평가하는 실무 엔지니어링의 정수를 담고 있습니다.
일본어 이커머스나 대규모 상품 검색 서비스를 개발하면서 복합어, 모델명 오매칭, 자동완성 성능 저하로 고민하고 있는 백엔드 및 검색 엔지니어에게 실제적인 아키텍처 지침을 제공합니다.
기존 Elasticsearch의 Kuromoji 분석기 및 오래된 IPADIC 사전은 복합어를 너무 잘게 분해하고 신조어 및 고유명사를 제대로 인식하지 못해 일본어 상품명 검색 결과가 누락되는 한계가 있었습니다. 또한 하이픈, 언더스코어 등 다양한 구분자가 섞인 모델 번호 표기법 차이로 인해 정확한 검색이 어려웠습니다.
사내 검색 엔진을 OpenSearch 2.15.0으로 전환하고 일본어 형태소 분석기로 Sudachi를 채택하여 복합어를 의미 단위로 보존하는 C 모드를 적용했습니다. 이에 더해 8억 건 규모의 상품 인덱스와 1억 건의 카탈로그 인덱스에 각각 특수 커스텀 분석기(compact_product_name_analyzer)와 Edge N-gram을 적용하는 Multi-field 전략을 구축했습니다.
새로운 형태소 분석 및 커스텀 분석기 도입을 통해 니가타현산 품종명 등 고유명사가 올바르게 분석되었고, 모델 번호 검색의 노이즈가 최소화되었습니다. 카탈로그 매칭 작업 시에는 Edge N-gram과 constant_score 필터를 조합하여 관리자 도구 내 자동완성 속도와 편의성이 대폭 개선되었습니다.
Trade-off
Edge N-gram 기반의 서브 필드는 대량의 토큰을 생성하여 세그먼트 병합 및 디스크 공간에 부담을 주기 때문에, 비정형 데이터가 많고 규모가 큰 상품 인덱스(8억 건)에는 적용하지 않고 정제된 소규모 카탈로그 인덱스(1억 건)에만 한정 적용하는 구조적 절충안을 택했습니다.
Works Applications에서 개발한 현대적인 일본어 형태소 분석기로, 세 가지 분할 모드(A, B, C)를 통해 복합어의 분해 단위를 정밀하게 제어할 수 있으며 최신 사전 대응력이 탁월합니다.
Elasticsearch 및 OpenSearch 환경에서 하나의 필드를 다각도로 활용하기 위해 서로 다른 분석기와 필터를 적용한 여러 서브 필드로 중복 색인하는 기법입니다.
색인 시 문자열의 접두사부터 시작해 단계별 글자 길이만큼 토큰을 미리 쪼개어 저장함으로써, 검색 시 일부 글자만 입력되어도 빠른 매칭을 보장하는 토큰 필터입니다.




