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 타입으로 지정 |
'검색엔진 > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] 형태소 분석과 검색 속도 비교 (0) | 2023.11.29 |
---|---|
[Elasticsearch] Elasticsearch 검색 방법(Query DSL) (1) | 2023.11.17 |
[Elasticsearch] Elasticsearch 알고리즘 (0) | 2023.11.14 |
[Elasticsearch] Elasticsearch 기본 개념 및 장단점 (0) | 2023.11.07 |