엘라스틱서치의 매핑

반응형
728x90
반응형

매핑

엘라스틱서치에서 매핑이란, 색인할때 문서의 데이터 유형에 따라 필드에 적절한 데이터 타입을 지정하는 것을 말한다. 매핑은 색인될 문서의 데이터 모델링이라고도 할 수 있다. 엘라스틱서치는 기본적으로 명시적으로 필드를 정의하지 않아도 데이터 유형에 따라 필드의 데이터 타입에 대한 매핑 정보가 자동으로 생성된다. 하지만 좀더 정확한 검색을 위해서는 수동적으로 매핑하여 필드에 적합한 데이터 타입으로 정의하는 것이 좋다.

 

  • 색인 : 역색인 파일을 만드는 것
매핑의 의미
> 색인시 데이터가 어디에 어떻게 저장될지를 결정하는 설정이다.
> 인덱스에 추가되는 각 데이터 타입을 구체적으로 정의하는 일이다.

 

# 문서 (1)

{ 
	"key" : "12345", 
	"value" : "abced" 
}

 

# 문서 (2)

{ 
	"key" : "ABCED", 
	"value" : "abced" 
}

 

매핑 설정 없이 첫번째 문서를 색인하면 key 필드는 숫자 타입으로 매핑된다. 그러나 두번째 문서에서의 key 필드는 문자열이기 때문에 두번째 문서의 key 필드는 색인이 불가능해진다. 한번 생성된 매핑의 타입은 변경이 불가능하다. 따라서 매핑 정보를 설정할 때에 신중해야한다.

 

{
    "name" : [
        "firstName" : "",
        "lastName" : ""
    ]
}

 

또한 매핑의 타입은 위 name 필드 처럼 내부적으로 또 다른 문서 구조를 가질 수 있다.

 

반응형

Designed by JB FACTORY