데브허브 | DEVHUB | Elasticsearch 입문·실전 - 3.7. [실습] 애널라이저(Analyzer)가 토큰을 어떻게 나누는 지 확인하는 방법Elasticsearch 입문·실전 - 3.7. [실습] 애널라이저(Analyzer)가 토큰을 어떻게 나누는 지 확인하는 방법
- 엘라스틱서치
_analyze API를 사용하여 애널라이저가 텍스트를 토큰으로 어떻게 변환하는지 직접 확인할 수 있습니다. 🔍
GET /_analyze 엔드포인트에 text와 analyzer (예: standard)를 지정하여 특정 애널라이저의 토큰화 결과를 쉽게 디버깅할 수 있습니다. 🛠️
standard 애널라이저는 공백이나 문장 부호로 단어를 나누는 standard 토크나이저와 모든 문자를 소문자로 변환하는 lowercase 필터로 구성됩니다. 🔡
- 예시 텍스트 "Apple 2025 MacBook Air 13 M4"는
standard 애널라이저를 거쳐 "apple", "2025", "macbook", "air", "13", "m4"와 같이 소문자화되고 공백 기준으로 분리된 토큰으로 변환됩니다. 🍎
- 애널라이저의 구성 요소(캐릭터 필터, 토크나이저, 필터)를
_analyze API에 개별적으로 명시하여 토큰화 과정을 세밀하게 제어하고 분석할 수 있습니다. 🔬
char_filter와 filter는 여러 개를 적용하거나 아예 적용하지 않을 수 있지만, tokenizer는 필수적으로 하나만 지정해야 합니다. ⚙️
- 애널라이저를 통째로 지정하는 방식과 구성 요소를 개별적으로 명시하는 방식은 동일한 구성일 경우 같은 토큰화 결과를 보여주며, 이는 애널라이저 작동 방식 디버깅에 핵심적입니다. 🔄
- 이
_analyze API는 엘라스틱서치 애널라이저의 동작을 이해하고 문제를 해결하는 데 매우 중요하며 실무에서 자주 활용됩니다. ✅