Elasticsearch 입문·실전 - 4.2. [실습] Nori Analyzer를 활용해 한글(korean)이 제대로 검색되게 만들기
- Nori Analyzer는 한글 검색을 정확하게 수행하기 위해 필수적인 Elasticsearch 플러그인입니다.🇰🇷
- Nori Analyzer 설치를 위해 기존 Docker 컨테이너를 종료하고, Dockerfile 및 docker-compose.yml 파일을 수정하여 플러그인을 포함한 새로운 컨테이너를 빌드하고 재시작해야 합니다.🐳
_analyze API를 사용하여 Nori Analyzer가 한글 텍스트(예: "백화점에서 쇼핑을 하다가 친구를 만났다")를 의미 단위로 정확하게 토큰화하고 불필요한 조사나 접속사를 제거하는 것을 확인할 수 있습니다.🔍
- Nori Analyzer는 내부적으로 Nori Tokenizer, Nori Part-of-Speech 필터, Nori Reading Form 필터(한자->한글 변환), Lowercase 필터 등으로 구성되어 한글의 형태소 분석에 기반한 토큰화를 수행합니다.⚙️
- Standard Tokenizer와 달리 Nori Tokenizer는 공백이나 문장 부호가 아닌 한글의 의미 단위(형태소)를 기준으로 단어를 분리하여 역인덱스에 저장합니다.🧠
- 사용자 정의 애널라이저를 생성하여 Nori Analyzer의 구성 요소(토크나이저, 필터)를 직접 명시하고, 이를 텍스트 필드에 적용하여 인덱스를 생성할 수 있습니다.🛠️
- Nori Analyzer가 적용된 인덱스에 한글 데이터를 삽입한 후, "백화점", "쇼핑", "친구"와 같은 키워드로 검색 시 의도한 문서가 정확하게 조회되는 것을 통해 한글 검색의 효율성을 입증합니다.✅
- 결론적으로 Nori Analyzer는 한글 문장을 의미 단위로 잘 분해하여 역인덱스에 저장함으로써 한글 검색의 정확도와 효율성을 크게 향상시킵니다.✨
- 다음 강의에서는 한글과 영어가 혼합된 텍스트 데이터를 Elasticsearch에서 효과적으로 처리하는 방법을 다룰 예정입니다.🌐
데브허브 | DEVHUB | Elasticsearch 입문·실전 - 4.2. [실습] Nori Analyzer를 활용해 한글(korean)이 제대로 검색되게 만들기