해당 글은 인프런 Minsuk Heo 님의 ELK 강의를 듣고 정리한 내용입니다.
Elastic Search 는 데이터를 파격적으로 다루고 조작할 수 있게 도와줍니다.
Elastic Search 의 파격적인 효과를 적용하기 위해서는 Mapping 은 필수적입니다.
이번 포스팅에서는 Mapping 이 무엇이고 왜 중요한지 어떻게 설정하는지 알아보겠습니다.
Mapping 이란
Mapping 은 RDB 에서 중요한 개념인 스키마와 일치합니다.
즉 type(table) 에 properties 속성을 통해 스키마의 정보를 입력해주는 것입니다.
❗️ Mapping 없이 Elastic Search 를 이용하게 된다면, 데이터를 원하는 방법으로 조작할 수 없게됩니다.
ex) 날짜 값을 입력했지만 Elastic Search 는 단순 문자열로 인식해, 날짜 별로 필터링 할 수 없습니다.
ex) 숫자 값을 입력했지만 Elastic Search 는 단순 문자열로 인식해, 연산(사칙, 최대값 등)을 수행할 수 없습니다.
Mapping 설정 방법
1. index 를 생성한다
curl -XPOST 'http://localhost:9200/classes/
2. type 을 생성한 후 mapping 속성을 추가한다.
curl -XPUT 'http://localhost:9200/classes/class/_mapping' -d @classesRating.json -H 'Content-Type:application/json'
{
"class" : {
"properties" : {
"title" : {"type" : "string"},
"student_count" : {"type" : "integer"},
"submit_date" : {"type" : "date", "format" : "yyyy-MM-dd"},
"location" : {"type" : "geo_point"}
}
}
}
3. document 를 생성한다.
curl -XPOST http://localhost:9200/_bulk?pretty --data-binary @classes.json
4. 제대로 값이 잘 들어갔는지 확인한다.
curl -XGET http://localhost:9200/classes/class/1/?pretty
'개인 공부 > ELK' 카테고리의 다른 글
[ElasticSearch] Aggregation 이란 (4) | 2023.10.22 |
---|---|
[ElasticSearch] 기초 CURD와 Bulk Update (0) | 2023.10.22 |
[ElasticSearch] 기본 개념 익히기 (2) | 2023.10.22 |