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

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

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

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

인덱스 생성하기 / 매핑 정의하기 / 도큐먼트 삽입하기

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

✅ 인덱스(index) 생성, 조회 및 삭제

Elasticsearch에서 인덱스(index)를 생성하는 건 MySQL에서 테이블(table)을 생성하는 것과 같다.
 
인덱스 생성 및 조회
# 인덱스 생성 # PUT /{인덱스명} PUT /users # 인덱스 생성됐는 지 확인하기 # GET /{인덱스명} GET /users # 없는 인덱스를 조회했을 때 응답값 확인하기 GET /abc
참고) 위 명령어를 입력했을 때 나오는 응답값의 모든 의미를 처음부터 다 알 필요없다. 그러니 부담갖지 말고 핵심 기능에 초점을 맞춰 학습하자. (파레토의 법칙)
 
인덱스 삭제
# 인덱스 생성 PUT /boards # 인덱스 생성됐는 지 확인하기 GET /boards # 인덱스 삭제 # DELETE /{인덱스명} DELETE /boards # 삭제됐는 지 확인하기 GET /boards
 

✅ 매핑(mapping) 정의

Elasticsearch에서 매핑(mapping)을 정의하는 건 MySQL에서 테이블의 스키마(schema)를 정의하는 것과 같다.
# 매핑 정의하기 # PUT /{인덱스명}/_mappings PUT /users/_mappings { "properties": { "name": { "type": "keyword" }, "age": { "type": "integer" }, "is_active": { "type": "boolean" } } } # 정의한 매핑 확인하기 GET /users
참고) 매핑(mapping)의 타입이나 특징에 대해서는 나중에 다시 한 번 자세히 다룰 예정이다.
 
 

✅ 도큐먼트(document) 삽입 및 조회

Elasticsearch에서 도큐먼트(document)을 삽입하는 건 MySQL에서 테이블에 레코드(record)를 삽입하는 것과 같다.
# 도큐먼트 삽입 # POST /{인덱스명}/_doc POST /users/_doc { "name": "Alice", "age": 28, "is_active": true } POST /users/_doc { "name": "Bob", "age": 30, "is_active": false } # 모든 도큐먼트 조회 # GET /{인덱스명}/_search GET /users/_search
 
도큐먼트 조회 시 응답값
{ "took": 1, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 2, "relation": "eq" }, "max_score": 1, "hits": [ { # _index : 인덱스명 "_index": "users", # 데이터를 저장하면서 자동으로 생성된 '랜덤 고유 ID' "_id": "0imoJ5YBVwYHNUofQSQc", "_score": 1, # _source : 저장한 데이터가 들어있는 필드 "_source": { "name": "Alice", "age": 28, "is_active": true } }, { "_index": "users", "_id": "0ymoJ5YBVwYHNUofRSRX", "_score": 1, "_source": { "name": "Bob", "age": 30, "is_active": false } } ] } }
참고) 지금으로써는 주석으로 표시한 필드의 의미만 해석할 수 있으면 된다. (파레토의 법칙)
 
👨🏻‍🏫
이번 강의에서는 인덱스를 생성하고 도큐먼트를 넣어봄으로써 데이터를 넣는 전체적인 흐름을 맛만 봤다. 다음 강의에서 도큐먼트를 조작하는 방법(CRUD)에 대해 조금 더 자세히 알아보자.
 
author
JSCODE 박재성
category
Elasticsearch
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
slug
type
series-footer
updatedAt
Dec 6, 2025 05:12 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.