분산형 오픈소스 검색 및 분석 엔진. Apache Lucene 기반. REST API로 JSON 문서를 저장·검색·분석. 기본 포트 9200(HTTP), 9300(노드 간 통신).
핵심 개념
개념
설명
RDB 비유
Index
문서들의 논리적 집합
Database / Table
Document
JSON 형태의 데이터 단위
Row
Field
문서 내 키-값 쌍
Column
Shard
인덱스를 분할한 단위 (Primary / Replica)
Partition
Node
클러스터를 구성하는 단일 서버
-
Cluster
노드들의 집합
-
기본 CRUD
# 문서 생성 (ID 지정)PUT /products/_doc/1{ "name": "노트북", "price": 1500000, "category": "전자제품"}# 문서 생성 (ID 자동 생성)POST /products/_doc{ "name": "마우스", "price": 30000}# 문서 조회GET /products/_doc/1# 문서 수정 (부분 업데이트)POST /products/_update/1{ "doc": { "price": 1400000 }}# 문서 삭제DELETE /products/_doc/1# 인덱스 삭제DELETE /products
검색
기본 검색
# 전체 조회GET /products/_search# match: 텍스트 분석 후 검색 (풀텍스트)GET /products/_search{ "query": { "match": { "name": "노트북" } }}# term: 정확한 값 검색 (키워드, 숫자, 날짜)GET /products/_search{ "query": { "term": { "category.keyword": "전자제품" } }}# range: 범위 검색GET /products/_search{ "query": { "range": { "price": { "gte": 100000, "lte": 2000000 } } }}