Programming/ElasticSearch
[ElasticSearch] 매핑(Mapping)
dev?
2024. 7. 12. 13:46
반응형
매핑(Mapping) 이란?
문서의 구조를 나타내는 정보이다.
ElasticSearch | RDBMS |
mapping | schema |
매핑(Mapping)의 종류
종류 | 정의 |
동적 매핑 (Dynamic Mapping) |
처음 색인되는 문서를 바탕으로 매핑 정보를 ElasticSearch가 동적(자동)으로 생성 |
정적 매핑 (Static Mapping) |
문서의 매핑 정보를 미리 정의 |
1) 동적 매핑 (Dynamic Mapping)
- 어떤 문서가 색인될지 스키마를 미리 정의하지 않아도 된다.
- 동적 매핑에 의해 매핑 정보가 생성된 후에는 타입이 맞지 않을 경우 파싱 에러가 발생한다.
2) 정적 매핑 (Static Mapping)
- 어떤 문서가 색인될지 스키마를 미리 정의한다.
- 모든 필드를 미리 정의할 필요가 없으며(정하지 않은 필드는 동적 생성), 특정 타입에 대해서만 미리 정의 한다.
정적 매핑(Static Mapping)을 사용하는 이유는?
1. 문서의 필드들이 가지는 값에 따라 타입을 지정해 줄 필요가 있을 경우
ex) 동적 매핑으로 특정 필드의 타입을 float으로 지정하였으나, 실제 데이터의 크기가 float보다 클 경우
2. 불필요한 색인이 발생하지 않도록 하기 위해서
ex) 동적매핑을 할때 타입이 'text'인 경우 자동으로 "keyword" 필드가 발생하는데, 실제 데이터가 "keyword" 필드가 불필요한 경우
반응형