DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 라인
  • Related reads#OpenSearch
#Backend

일본어 상품 검색 정확도 높이기: Elasticsearch + Kuromoji에서 OpenSearch + Sudachi로

일본어 상품 검색 정확도 높이기: Elasticsearch + Kuromoji에서 OpenSearch + Sudachi로
01

Summary

8억 건의 대규모 상품 데이터 최적화: LINE이 일어 검색 엔진을 OpenSearch와 Sudachi로 개편한 이유

복합어 보존과 모델 번호 특수문자 검색 노이즈까지 완벽 제어하는 똑똑한 Multi-field 설계 방식

본 아티클은 LINE Plus 통합 커머스 개발팀이 기존 Elasticsearch 7.x와 Kuromoji 분석기의 제약을 극복하고 OpenSearch와 Sudachi 기반의 검색 환경으로 이관한 상세 기술 아키텍처를 소개합니다. 노후화된 사전으로 인한 검색 누락, 복합어 분해 문제를 형태소 분석기 제어 및 커스텀 분석기 튜닝을 통해 영리하게 해결합니다. 특히 대용량 인덱스 환경에서 성능 저하를 방지하기 위해 Multi-field를 설계하고 트레이드오프를 평가하는 실무 엔지니어링의 정수를 담고 있습니다.

  • 01IPADIC 사전의 한계를 극복하고 최신 신조어와 고유명사의 일본어 검색 정확도를 혁신적으로 향상
  • 02Sudachi의 split_mode C 모드와 sudachi_split 토큰 필터를 조합하여 의미 단위를 보존하면서 재현율 확보
  • 03하이픈, 전반각 나카구로 등으로 쪼개지던 모델 번호를 커스텀 compact_product_name_analyzer를 설계해 단일 토큰으로 수렴
  • 048억 건의 대규모 인덱스 리소스 폭발을 방지하기 위해 Edge N-gram을 1억 건의 카탈로그 인덱스에만 제한 적용하는 실무적 트레이드오프 단행

+RECOMMENDATION

일본어 이커머스나 대규모 상품 검색 서비스를 개발하면서 복합어, 모델명 오매칭, 자동완성 성능 저하로 고민하고 있는 백엔드 및 검색 엔지니어에게 실제적인 아키텍처 지침을 제공합니다.

The Problem

기존 Elasticsearch의 Kuromoji 분석기 및 오래된 IPADIC 사전은 복합어를 너무 잘게 분해하고 신조어 및 고유명사를 제대로 인식하지 못해 일본어 상품명 검색 결과가 누락되는 한계가 있었습니다. 또한 하이픈, 언더스코어 등 다양한 구분자가 섞인 모델 번호 표기법 차이로 인해 정확한 검색이 어려웠습니다.

The Solution

사내 검색 엔진을 OpenSearch 2.15.0으로 전환하고 일본어 형태소 분석기로 Sudachi를 채택하여 복합어를 의미 단위로 보존하는 C 모드를 적용했습니다. 이에 더해 8억 건 규모의 상품 인덱스와 1억 건의 카탈로그 인덱스에 각각 특수 커스텀 분석기(compact_product_name_analyzer)와 Edge N-gram을 적용하는 Multi-field 전략을 구축했습니다.

The Result

새로운 형태소 분석 및 커스텀 분석기 도입을 통해 니가타현산 품종명 등 고유명사가 올바르게 분석되었고, 모델 번호 검색의 노이즈가 최소화되었습니다. 카탈로그 매칭 작업 시에는 Edge N-gram과 constant_score 필터를 조합하여 관리자 도구 내 자동완성 속도와 편의성이 대폭 개선되었습니다.

Trade-off

Edge N-gram 기반의 서브 필드는 대량의 토큰을 생성하여 세그먼트 병합 및 디스크 공간에 부담을 주기 때문에, 비정형 데이터가 많고 규모가 큰 상품 인덱스(8억 건)에는 적용하지 않고 정제된 소규모 카탈로그 인덱스(1억 건)에만 한정 적용하는 구조적 절충안을 택했습니다.

03

Key Concepts

Concept · 01

Sudachi 형태소 분석기

Works Applications에서 개발한 현대적인 일본어 형태소 분석기로, 세 가지 분할 모드(A, B, C)를 통해 복합어의 분해 단위를 정밀하게 제어할 수 있으며 최신 사전 대응력이 탁월합니다.

  • IPADIC 사전 기반의 Kuromoji 대비 최신 신조어 및 고유명사를 훨씬 더 안정적으로 추출함
  • split_mode 파라미터를 C 모드로 설정하여 복합어 상품명을 단일 토큰 단위로 보존함
Concept · 02

멀티 필드 전략 (Multi-field Strategy)

Elasticsearch 및 OpenSearch 환경에서 하나의 필드를 다각도로 활용하기 위해 서로 다른 분석기와 필터를 적용한 여러 서브 필드로 중복 색인하는 기법입니다.

  • 상품명 필드를 일반 일본어 검색용, 모델 번호 축약 매칭용(.compact), 완전 일치용(.keyword) 등으로 세분화하여 색인함
  • 두 인덱스(상품, 카탈로그)의 서로 다른 검색 패턴과 규모에 최적화된 서브 필드를 유연하게 할당함
Concept · 03

엣지 엔그램 (Edge N-gram)

색인 시 문자열의 접두사부터 시작해 단계별 글자 길이만큼 토큰을 미리 쪼개어 저장함으로써, 검색 시 일부 글자만 입력되어도 빠른 매칭을 보장하는 토큰 필터입니다.

  • 카탈로그 인덱스의 productName.edge 서브 필드에 적용되어 초고속 접두사 자동완성 기능 구현에 기여함
  • 불필요한 스코어 계산을 배제하도록 constant_score와 연계하여 대용량 매칭 쿼리의 실질적 속도를 향상시킴
Continue reading · same source

라인More from 라인

View all posts from 라인
  • LLM Wiki: 코드 기준으로 자동 최신화되는 도메인 지식 SSOT 만들기

    LLMSSOTGitHub Actions
    2일 전
  • 보안 업무를 위한 AI 에이전트 플랫폼 「SAGE」 개발기 1편: 판단은 사람에게 남기는 설계

    LLMMulti-AgentRAG
    1주 전
  • 개인 AI 활용의 다음 단계는 무엇인가 - LY Corporation에서 AIDD 워크숍을 통해 살펴본 AIDD 조직 도입의 조건

    AIDDAI AgentDeveloper Productivity
    3주 전
  • Grafana에서 자연어로 장애 원인을 분석하기: LLM 에이전트 기반 SRELens 개발기

    GrafanaLLM AgentObservability
    1개월 전
  • AI 에이전트를 위한 Android CLI: 대규모 모바일 개발 환경에 적용하기

    Android CLIAI AgentAndroid Studio
    1개월 전

Related reads#OpenSearch

Explore #OpenSearch
포스타입

포스타입이 개인화 추천을 하는 방법 2부

#OpenSearch3주 전
포스타입

포스타입이 개인화 추천을 하는 방법 1부

#OpenSearch3주 전
미리디

AI 스타일 검색 2편 : 듀얼 벡터 검색과 OpenSearch 3.3 버전업

#OpenSearch2개월 전
우아한형제들·AWS Bedrock

우아한공방의 새로운 동료, 시스템 맥락을 가진 챗봇서비스 개발기(feat. RAG)

#OpenSearch3개월 전
라인·Kafka

기획서 없이 내재화하기: 검증 로직으로 동일함을 증명하다

#OpenSearch5개월 전

Source

라인
라인
Engineering Blog

Published · August 21, 2026

Topics

OpenSearchSudachiElasticsearchMulti-FieldEdge N-gram