Skip to content

[Feat] 약품 검색에 한국어 형태소 분석기(nori) 도입 #102

Description

@kangcheolung

📌 Description

#92 (약품 검색 품질 개선)의 후속 과제. 현재 ngram/edge_ngram 기반 검색은 약품명을 통짜 토큰으로 다루기 때문에 타이래놀처럼 중간 음절이 틀린 오타(레→래)는 거의 못 잡는다. Elasticsearch nori 형태소 분석기를 붙여 약품명을 형태소 단위로 분해하면 중간 오타도 fuzzy 매칭으로 잡을 수 있다.

nori 플러그인은 기본 Elasticsearch 8.x 이미지에 없어 커스텀 Docker 이미지가 필요하다. (로컬 개발 환경만 대상 — prod는 서버가 내려가 있어 이번 작업 범위에서 제외)

✅ To-do

  • analysis-nori 플러그인을 설치하는 커스텀 ES Dockerfile 작성, docker-compose.yml local ES 서비스에 반영
  • drug-info-settings.jsonnori_tokenizer 기반 analyzer 추가
  • DrugDocument.itemName.nori 서브필드 추가
  • DrugSearchRepository 검색 쿼리에 nori 필드 should절 추가
  • scripts/drug-search-bench.py에 중간 음절 오타 테스트 케이스 추가, before/after 재측정
  • 재색인 후 로컬 기동 확인

📒 기타

  • 관련 문서: docs/kangcheolung/issue-92-search-quality.md "알려진 한계" / "6. 후속"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions