검색엔진/Elasticsearch / / 2023. 11. 17. 13:16

[Elasticsearch] Elasticsearch 필드 데이터 타입

 

Mapping이란?

Mapping은 필드가 저장되고 인덱싱되는 방식을 정의하는 프로세스다. Elasticsearch는 명시적으로 필드를 정의하지 않아도 데이터 유형에 따라 데이터 타입에 대한 매핑 정보가 자동으로 생성된다. 하지만, 자신이 원하지 않는 타입으로 지정될 경우 수정이 불가능하므로 상황에 따라 필드에 미리 매핑정보를 정의해야 하는 경우가 있다.

 

Field Data Type

Field Type 설명
Text keyword  입력된 문자열을 하나의 토큰으로 저장한다. 검색 시 필터링, 정렬, 집계 시 많이 사용하며, 별도의 분석기를 거치지 않기 때문에 키워드 등 정확한 검색을 할때 유용
text  입련된 문자열을 쪼개어 역색인 구조로 만든다.
Numeric long  64비트 정수
integer  32비트 정수
short  16비트 정수
byte  8비트 정수
double 
64비트 실수
 
float
32비트 실수
 
half_float 
16비트 실수
 
scaled_float  실수형이지만 부동소수점이 아니라 long 형태로 저장하고 옵션으로 소수점 위치를 지정
Date  date  ISO8601 형식을 따라 입력되며, 형식이 안맞으면 text, keyword로 인식하여 저장
"2019-06-12"
"2019-06-12T17:13:40"
"2019-06-12T17:13:40+09:00"
"2019-06-12T17:13:40.428Z"
Boolean  boolean  true와 false 두가지 값을 갖는 필드
보통 term 쿼리를 이용해서 검색
Object object 한 요소가 여러 하위 정보를 가지고 있는 경우
Nested  nested  필드에 여러개의 object 값들이 서로 다른 역색인 구조를 갖도록 할때는 Nested 타입으로 지정
 
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유