📚 자바 백엔드 입문 · ?편 — 38편 완주 가이드
📚 시리즈 8 · 38편
Elasticsearch 입문에서 운영까지
Lucene 위에 분산·실시간 색인을 얹어 풀텍스트·집계·벡터 검색을 한 통에 묶은 검색·로그·AI 통합 플랫폼의 입문부터 운영까지. 38편을 한 호흡에 풀어쓴 학습 자료입니다.
어떤 분이 읽으면 좋아요
이 시리즈는 검색·로그·관측·벡터 검색 인프라가 처음인 자바·Spring 백엔드 엔지니어, 또는 회사에서 ELK 스택·AWS OpenSearch를 운영해야 하는 분을 염두에 두고 썼어요. 백엔드 데이터 인프라 130편을 완주하고 PG·Redis·Kafka 셋이 영속·캐시·이벤트를 다 잡아 줬다면, 그 위에 얹는 4번째 데이터 인프라 자리가 ES.
처음 들어오신 분은 1편(welcome)·2편(core-concepts)·4편(quickstart) 세 글이면 큰 그림이 잡혀요. 운영에 들어가실 분은 Part 7 운영 6편과 Part 9 클라우드·IaC 3편을 먼저 챙기시면 됩니다.
추천 읽기 순서
- 검색 초보 → 1편(welcome) → 4편(quickstart) → 12편(search-api-basic) → 13편(fulltext-queries)
- 자바·Spring 환경 → 1편 → 2편(core-concepts) → 32편(spring-data-integration) → 7편(document-crud-versioning)
- 로그·관측 자리 → 1편 → 25편(logstash-beats-fluentd) → 33편(kibana-elk-stack) → 34편(observability-apm-uptime)
- AWS 환경 → 1편 → 35편(aws-opensearch) → 37편(iac-terraform-cdk) → 29편(security-rbac)
- RAG·벡터 검색 → 1편 → 9편(field-types-deep) → 21편(vector-search-knn) → 22편(rag-hybrid-search)
- 운영 사고 대응 → 26편(cluster-operations) → 27편(shard-allocation) → 31편(performance-tuning) → 38편(series-conclusion 의 함정 Top 10)
전체 목차 — Part 1~10
Part 1. 입문 (4편)
| 편 |
제목 |
핵심 |
| 1편 |
Elasticsearch 종합 |
정의·역사·OpenSearch fork·핵심 5단어 |
| 2편 |
Index·Document·Shard·Replica·Mapping 깊이 |
5대 개념 각자 깊이 |
| 3편 |
Lucene 내부 깊이 |
Segment·Inverted Index·Posting List·Tokenization |
| 4편 |
Quickstart |
Docker Compose·curl·Kibana Dev Tools |
Part 2. 데이터 모델 (6편)
| 편 |
제목 |
핵심 |
| 5편 |
Index 관리 |
Create·Settings·Alias·Reindex |
| 6편 |
ILM·Aliases·Rollover |
Hot·Warm·Cold·Frozen·Delete |
| 7편 |
Document CRUD·Bulk·Versioning |
Optimistic Locking·NDJSON |
| 8편 |
Mapping Deep |
Static·Dynamic·Templates·Multi-field·Runtime |
| 9편 |
Field Types Deep |
text·keyword·numeric·date·nested·dense_vector |
| 10편 |
Analyzer Deep |
Character Filter·Tokenizer·Token Filter 3단계 |
Part 3. 한국어 (1편)
| 편 |
제목 |
핵심 |
| 11편 |
Korean Analyzer |
Nori·mecab-ko·사용자 사전·동의어·자모 분리 |
Part 4. 검색 (7편)
| 편 |
제목 |
핵심 |
| 12편 |
Search API 기본 |
_search·query·size·from·sort·_source |
| 13편 |
Full-text Queries |
match·match_phrase·multi_match·query_string |
| 14편 |
Term-level Queries |
term·terms·range·exists·prefix·wildcard·fuzzy |
| 15편 |
Compound Queries |
bool·must·should·must_not·filter·function_score |
| 16편 |
Aggregations Metric |
sum·avg·percentiles·cardinality |
| 17편 |
Aggregations Bucket |
terms·histogram·date_histogram·composite |
| 18편 |
Aggregations Pipeline |
derivative·moving_avg·cumulative_sum |
Part 5. 검색 고급 (4편)
| 편 |
제목 |
핵심 |
| 19편 |
Search Features |
highlight·sort·pagination·search_after·scroll·PIT |
| 20편 |
Suggesters |
term·phrase·completion·context |
| 21편 |
Vector Search·kNN |
dense_vector·HNSW·ANN |
| 22편 |
RAG·Hybrid Search |
Embedding·Reranking·Relevance Tuning |
Part 6. 데이터 수집 (3편)
| 편 |
제목 |
핵심 |
| 23편 |
Bulk API |
NDJSON·batch sizing·refresh·partial failure |
| 24편 |
Ingest Pipeline |
Processor·grok·set·remove·conditional |
| 25편 |
Logstash·Beats·Fluentd·Vector |
외부 수집기 비교 |
Part 7. 운영 (6편)
| 편 |
제목 |
핵심 |
| 26편 |
Cluster Operations |
master-eligible·voting·rolling restart |
| 27편 |
Shard Allocation |
awareness·rack·zone·shrink·split·clone |
| 28편 |
Snapshot & Restore |
S3·SLM·Searchable Snapshot |
| 29편 |
Security·RBAC |
API key·Roles·field/document level security |
| 30편 |
Monitoring |
_cluster·_nodes/stats·slow logs·Stack Monitoring |
| 31편 |
Performance Tuning |
heap·thread pool·query cache·circuit breaker |
Part 8. 통합 (3편)
| 편 |
제목 |
핵심 |
| 32편 |
Spring Data Elasticsearch |
Repository·Template·@Document·Reactive |
| 33편 |
Kibana·ELK Stack |
Discover·Dashboard·Lens·Canvas·Maps |
| 34편 |
Observability |
APM·Logs·Metrics·Uptime·SLO·OpenTelemetry |
Part 9. 클라우드·IaC (3편)
| 편 |
제목 |
핵심 |
| 35편 |
AWS OpenSearch Service |
Domain·Serverless·Provisioned·ES와 차이 |
| 36편 |
Elastic Cloud |
Hosted·Serverless·ECE·ECK |
| 37편 |
IaC |
Terraform·CDK·Pulumi·ECK Helm 자동화 |
Part 10. 마무리 (1편)
| 편 |
제목 |
핵심 |
| 38편 |
시리즈 마무리 |
결정 트리·체크리스트·자격증·다음 학습 |
시리즈 핵심 한 줄 정리
- 핵심 5단어 — Index · Document · Shard · Replica · Mapping
- OpenSearch vs Elasticsearch — 2021년 라이선스 분기로 fork. AWS 환경이면 OpenSearch, 멀티 클라우드·자체 운영이면 Elasticsearch
- 자바·Spring — Spring Data Elasticsearch 6.0.0 + Spring Boot 3.5+
- 한국어 검색 — Nori 분석기 + 사용자 사전 + 동의어 조합이 표준
- 로그 인프라 — ELK (Elasticsearch + Logstash + Kibana) 가 사실상 표준
- 벡터·RAG — dense_vector + kNN + ELSER 가 별도 벡터 DB 없이 RAG 인프라
- 운영 7대 사고 — Mapping Explosion·Shard 미설계·Deep Pagination·Korean Tokenizer 미설정·Red 상태·split-brain·라이선스 충돌
- 현재 안정 버전 — Elasticsearch 8.x (2026-05 기준)
다른 시리즈
이 시리즈가 끝나면 시리즈 9 (Apache Solr 또는 MongoDB·MySQL 깊이) 가 자연스러운 다음 길이에요. 백엔드 데이터 인프라 시리즈 2(130편) 와 묶어 읽으시면 검색·관측·캐시·이벤트 4 영역 인프라가 한 번에 잡혀요.