📌 Description
#92 (약품 검색 품질 개선)의 후속 과제. 현재 ngram/edge_ngram 기반 검색은 약품명을 통짜 토큰으로 다루기 때문에 타이래놀처럼 중간 음절이 틀린 오타(레→래)는 거의 못 잡는다. Elasticsearch nori 형태소 분석기를 붙여 약품명을 형태소 단위로 분해하면 중간 오타도 fuzzy 매칭으로 잡을 수 있다.
nori 플러그인은 기본 Elasticsearch 8.x 이미지에 없어 커스텀 Docker 이미지가 필요하다. (로컬 개발 환경만 대상 — prod는 서버가 내려가 있어 이번 작업 범위에서 제외)
✅ To-do
📒 기타
- 관련 문서:
docs/kangcheolung/issue-92-search-quality.md "알려진 한계" / "6. 후속"
📌 Description
#92 (약품 검색 품질 개선)의 후속 과제. 현재 ngram/edge_ngram 기반 검색은 약품명을 통짜 토큰으로 다루기 때문에
타이래놀처럼 중간 음절이 틀린 오타(레→래)는 거의 못 잡는다. Elasticsearch nori 형태소 분석기를 붙여 약품명을 형태소 단위로 분해하면 중간 오타도 fuzzy 매칭으로 잡을 수 있다.nori 플러그인은 기본 Elasticsearch 8.x 이미지에 없어 커스텀 Docker 이미지가 필요하다. (로컬 개발 환경만 대상 — prod는 서버가 내려가 있어 이번 작업 범위에서 제외)
✅ To-do
analysis-nori플러그인을 설치하는 커스텀 ES Dockerfile 작성,docker-compose.ymllocal ES 서비스에 반영drug-info-settings.json에nori_tokenizer기반 analyzer 추가DrugDocument.itemName에.nori서브필드 추가DrugSearchRepository검색 쿼리에 nori 필드 should절 추가scripts/drug-search-bench.py에 중간 음절 오타 테스트 케이스 추가, before/after 재측정📒 기타
docs/kangcheolung/issue-92-search-quality.md"알려진 한계" / "6. 후속"