시작하며
Twitter 데이터를 Elastic Stack으로 수집하고 한국어 텍스트를 분석하는 실습 과정을 정리한다. 영어 텍스트와 달리 한국어는 기본 분석기로 형태소 단위 검색이 불가능하므로, 별도의 한글 형태소 분석기를 설치하고 기존 인덱스를 리인덱싱하는 작업이 필요하다.

전체 구성 흐름
주요 작업 단계
-
Logstash에 Twitter 데이터 밀어넣기: Logstash의 Twitter input 플러그인을 사용해 실시간 트윗을 ElasticSearch로 수집한다.
-
한글 형태소 분석기 설치 및 활용: 기본 standard 분석기는 한국어 형태소 단위 분리를 지원하지 않으므로, 노리(nori)와 같은 한글 형태소 분석기 플러그인을 ElasticSearch에 설치한다.
-
리인덱싱(Reindexing): 한글 형태소 분석기를 적용하려면 분석기가 설정된 새로운 인덱스를 생성하고, 기존 인덱스의 데이터를 새 인덱스로 리인덱싱해야 한다. 인덱스 매핑은 한 번 생성되면 변경할 수 없기 때문이다.
-
Kibana 시각화: 리인덱싱된 데이터를 바탕으로 Kibana에서 인덱스 패턴을 새로 등록하고 대시보드를 구성한다.
ElasticSearch 8.x 초기 설정
ElasticSearch 8.2 버전부터는 보안이 기본으로 활성화된다. 초기 실행 시 다음 절차를 따른다.
- ElasticSearch 실행
- 최초 실행 시 출력되는 enrollment token을 사용해 Kibana와 ElasticSearch를 연동한다.
- ElasticSearch에서 비밀번호를 발급받아 Kibana 사용자 로그인에 사용한다.
주요 관리 명령어는 다음과 같다.
# elastic 내장 슈퍼유저 비밀번호 초기화
bin\elasticsearch-reset-password -u elastic
# Kibana 인스턴스용 enrollment token 생성
bin\elasticsearch-create-enrollment-token -s kibana
# ElasticSearch 노드 추가용 enrollment token 생성
bin\elasticsearch-create-enrollment-token -s node정리하며
Twitter 데이터 수집부터 한글 형태소 분석기 적용, 리인덱싱, Kibana 시각화까지의 과정은 Elastic Stack의 전체 파이프라인을 실습하기에 적합한 예제이다. 특히 한국어 텍스트 분석에서는 형태소 분석기 선택과 리인덱싱 전략이 검색 품질에 직접적인 영향을 미치므로, 초기 인덱스 설계 단계에서 분석기를 함께 고려하는 것이 좋다.