실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
mapping-special-properties-null-array
✅ null 허용 (기본적으로 필수로 값을 넣을 필요가 없음)
Elasticsearch는 매핑을 정의하더라도 해당 필드가 반드시 존재하거나 null이면 안 된다는 제약을 두지 않는다. 다음과 같은 매핑(mapping)을 설정했다고 치자.
"mappings": {
"properties": {
"title": { "type": "text" }
"content": { "type": "text" }
}
}
아래와 같이 데이터를 넣어도 들어간다.
{
"title": null,
"content": "산다는 것 그것은 치열한 전투이다."
}
{
"content": "산다는 것 그것은 치열한 전투이다."
}
✅ 배열(array) 허용
Elasticsearch는 별도의 설정 없이 배열(array) 형태의 데이터를 삽입할 수 있다. 그리고 배열(array)에 특화된 매핑 타입(mapping type)이 따로 없다. 다음과 같이 매핑(mapping)을 설정했다고 치자.
"mappings": {
"properties": {
"hashtags": { "type": "text" }
}
}
아래와 같이 데이터를 넣어도 들어간다.
{
"hashtags": "여행"
}
{
"hashtags": ["여행", "요리"]
}
여행이라는 키워드로 검색하면 위 2가지 데이터 전부 다 조회된다.
👨🏻🏫
다음 강의에서는 데이터 타입(data type)을 고려해서 매핑을 정의하고 인덱스를 생성해보자.