ElasticSearch ‐ 데이터 저장 타입을 결정하는 매핑과 데이터 타입이란? - dnwls16071/Backend_Study_TIL GitHub Wiki
📚 매핑(mapping)이란? / 데이터 타입(Data Type)
- 매핑이란 도큐먼트의 각 필드가 어떤 데이터 타입을 가지고 있는가를 정의하는 설정을 의미한다.
- MySQL에서 테이블을 만들 때 어떤 유형의 데이터를 넣을지를 스키마로 정의하는 것과 같이 ElasticSearch에서 인덱스를 만들 때 어떤 유형의 데이터를 넣을지 매핑을 정의할 수 있다.
- ElasticSearch에서 지원하는 데이터 타입 종류는 많은데 자주 사용하는 데이터 타입은 아래와 같다.
- [숫자]
- 10억 이하 정수만 저장하면 되는 경우 :
integer
- 10억이 넘어가는 정수를 저장해야 될 수도 있는 경우 :
long
- 실수를 저장해야 될 수도 있는 경우 :
double
- 10억 이하 정수만 저장하면 되는 경우 :
- [문자]
- 문자열을 토큰으로 쪼개 저장하고 싶은 경우 :
text
- 문자열을 토큰으로 쪼개지 않고 그대로 저장하고 싶은 경우(그대로 일치할 때) :
keyword
- 문자열을 토큰으로 쪼개 저장하고 싶은 경우 :
- [기타]
- 날짜 데이터 :
date
- true, false를 저장하는 경우 :
boolean
- 날짜 데이터 :
- [숫자]
❗계산에서 쓰는 값이 아니라면 숫자가 아닌 문자로 저장해야 한다.(Ex. 휴대폰 번호, 주민등록번호)
📚 매핑의 특징
- null을 허용
- 배열을 허용
데이터 타입
📚- 자세한 내용들은 공식문서에도 참 정리가 잘 되어있다.
- 범위에 맞게끔 적용해서 개발하면 된다.