JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

애널라이저(Analyzer)란?

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
what-is-analyzer
type
post
updatedAt
Dec 6, 2025 04:48 AM

✅ 애널라이저(Analyzer)란?

이전 강의에서 products의 name 필드값을 토큰(token)으로 분리해 역인덱스(Inverted Index)로 저장하는 과정을 살펴봤다. 이 과정에서 문자열(text)을 토큰으로 변환시켜주는 장치를 보고 애널라이저(Analyzer)라고 부른다.
POST /products/_create/1 { "name": "Apple 2025 맥북 에어 13 M4 10코어" } POST /products/_create/2 { "name": "Apple 2024 에어팟 4세대" } POST /products/_create/3 { "name": "Apple 2024 아이패드 mini A17 Pro" }
토큰(token)
도큐먼트 id
Apple
[1, 2, 3]
2025
[1]
맥북
[1]
에어
[1]
13
[1]
M4
[1]
10코어
[1]
2024
[2, 3]
에어팟
[2]
4세대
[2]
아이패드
[3]
mini
[3]
A17
[3]
Pro
[3]
 
그림으로 나타내면 다음과 같다.
notion image
 
이전에 간단하게 배울 때는 문자열을 단어 단위로 잘라서 토큰으로 만든다고만 배웠다. 사실은 문자열을 간단하게 단어 단위로만 자르는 게 아니라 애널라이저(Anylyzer)가 여러 가지의 작업을 거쳐서 토큰을 만들어낸다.
애널라이저(Analyzer)는 내부적으로 캐릭터 필터(character filter), 토크나이저(tokenizer), 토큰 필터(token filter)라는 걸 활용해 문자열을 토큰으로 변환시킨다. 이 3가지의 개념에 대해 조금 더 자세히 알아보자.
 
 

✅ 캐릭터 필터(character filter)

캐릭터 필터(character filter)는 문자열을 토큰으로 자르기 전에 문자열을 다듬는 역할을 한다.
다양한 종류의 필터가 존재하며, 여러 개의 필터를 적용시킬 수 있다.
 
[예시]
  • html_strip 필터 적용 (HTML 태그를 제거)
    • <h1>아이폰 15 사용 후기</h1> → 아이폰 15 사용 후기
  • (mapping 필터, pattern replace 필터)
 
 

✅ 토크나이저(tokenizer)

토크나이저(tokenizer)는 문자열을 토큰으로 자르는 역할을 한다.
 
[예시]
  • standard 토크나이저 (공백 또는 ,, ., !, ?와 같은 문장 부호를 기준으로 자름)
    • The Brown-Foxes jumped over the roof.
      → [The, Brown, Foxes, jumped, over, the, roof]
  • (classic 토크나이저, keyword 토크나이저, pattern 토크나이저 등등)
 
 

✅ 토큰 필터(token filter)

토큰 필터(token filter)는 잘린 토큰을 최종적으로 다듬는 역할을 한다.
다양한 종류의 필터가 존재하며, 여러 개의 필터를 적용시킬 수 있다.
 
[예시]
  1. lowercase 필터 적용 (소문자로 변환)
    1. [The, Brown, Foxes, jumped, over, the, roof]
      → [the, brown, foxes, jumped, over, the, roof]
       
  1. stop 필터 적용 (a, the, is와 같은 특별한 의미를 가지지 않는 단어 제거)
    1. [the, brown, foxes, jumped, over, the, roof]
      → [brown, foxes, jumped, roof]
 
  1. stemmer 필터 적용 (단어의 원래 형태로 변환)
    1. [brown, foxes, jumped, roof]
      → [brown, fox, jump, roof]
 
  • (asciifolding 필터, synonym 필터, edge_ngram 필터, kstem 필터 등등)
 
 
👨🏻‍🏫
그럼 다음 강의에서는 Elasticsearch에 기본값으로 설정되어 있는 애널라이저의 character filter, tokenizer, token filter가 어떻게 설정되어 있는 지 알아보자.
 
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
Dec 6, 2025 05:12 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.