Ingest Pipeline과 프로세서 — 색인 전 데이터 가공
Elasticsearch Reindex/Alias 무중단 전환 및 Ingest Pipeline 공식 문서·기술 블로그 종합 (웹 리서치, 2026) — Elastic 공식 문서(changing-mapping-with-zero-downtime, ingest-simulate) + 기술 블로그 종합 Elastic 공식 문서 Ingest APIs, Grok processor
이 모듈을 다 읽으면
- ingest pipeline이 색인 파이프라인의 어느 지점에서 동작하는지 설명할 수 있다
- grok/set 같은 대표 프로세서가 무엇을 하는지 구분할 수 있다
- _simulate API가 왜 필요한지 판단할 수 있다
elasticsearch-learn-01에서 이름만 스쳐간 ingest 노드 역할을 구체화해, 문서가 색인되기 직전에 거치는 ingest pipeline과 그 안의 프로세서들을 정리한다.
Ingest Pipeline — 색인되기 직전의 가공 단계
ingest pipeline은 문서가 실제로 인덱스에 저장되기 직전에 순차적으로 적용되는 프로세서(processor)들의 체인이다. 클라이언트가 문서를 색인 요청할 때 pipeline 파라미터로 특정 파이프라인을 지정하면(또는 인덱스 기본 파이프라인으로 설정해두면), 그 문서가 실제 색인되기 전에 이 파이프라인을 거쳐 필드가 추출·변환·보강된다. 별도의 외부 ETL 도구 없이 Elasticsearch 안에서 가벼운 전처리를 끝낼 수 있다는 게 핵심 이점이다.
핵심 포인트
- ingest pipeline = 문서가 색인되기 직전에 거치는 프로세서 체인
- 외부 ETL 도구 없이 Elasticsearch 안에서 가벼운 전처리를 완료할 수 있다
대표 프로세서들
grok 프로세서는 정규식 기반 패턴 매칭으로 비구조적 문자열(대표적으로 로그 한 줄)에서 구조화된 필드를 추출한다(예: 로그 라인에서 timestamp/level/message를 각각의 필드로 분리). set 프로세서는 필드 값을 설정하거나 덮어쓴다(고정값 삽입, 다른 필드 값 복사 등). rename/remove는 필드명을 바꾸거나 제거한다. enrich 프로세서(7.5+)는 색인 중인 문서를, 미리 만들어둔 별도의 참조 인덱스(enrich index)와 조인(lookup)해 추가 필드를 채워 넣는다 — Elasticsearch에 정식 조인 연산이 없다는 한계를, 색인 시점의 룩업으로 우회하는 방법이다.
핵심 포인트
- grok: 정규식 패턴으로 비구조적 문자열에서 구조화된 필드 추출(로그 파싱의 대표 도구)
- set/rename/remove: 필드 값 설정/이름변경/제거
- enrich(7.5+): 별도 참조 인덱스와 조인(lookup)해 필드를 보강 — 정식 조인이 없는 한계를 색인 시점 룩업으로 우회
_simulate API — 실제로 색인하지 않고 먼저 검증
파이프라인을 실제 운영 인덱스에 적용하기 전에, POST _ingest/pipeline/_simulate로 샘플 문서를 넣어 그 파이프라인이 의도한 대로 필드를 변환하는지 미리 확인할 수 있다. 이는 실제 색인을 전혀 발생시키지 않는 순수 테스트이므로, 파이프라인 로직(특히 grok 패턴처럼 정규식 오류가 나기 쉬운 부분)을 프로덕션에 배포하기 전 검증하는 표준적인 절차다.
핵심 포인트
- POST _ingest/pipeline/_simulate로 실제 색인 없이 파이프라인 동작을 미리 검증할 수 있다
- grok 패턴처럼 오류가 나기 쉬운 로직을 프로덕션 배포 전 확인하는 표준 절차