티스토리 뷰

IT/Elasticsearch

Mapping 중요성

Some day 2021. 10. 2. 21:25
반응형
  • 데이터베이스에서 테이블의 컬럼 정보를 정의하는 것이 중요하듯, 엘라시틱서치도 데이터의 타입을 정의하는 것이 중요하다.
  • 엘라스틱서치는 기본적으로 schemaless이기 때문에 명시적인 정의를 하지 않아도, 각 데이터 유형에 따라 필드 데이터 타입에 대한 매핑 정보가 자동으로 생성된다.
  • 이러한 동적 매핑을 하면, 문서에 새로운 필드를 추가할 때마다 인덱스가 자동으로 업데이트 됨으로 매우 쉽고 편리하지만, 한 번 정의된 필드에 서로 다른 타입의 데이터가 입력되면 뒤에 입력된 데이터의 색인 생성에 실패하게 됨.
  • 한 번 생성된 매핑의 타입은 변경할 수 없다.
  • 타입을 변경하려고 한다면, 인덱스를 삭제 후 다시 생성하거나 매핑을 다시 정의해야 함.

  • 매핑 정보 설정시 고려사항
    • 문자열을 분석해야 하는가?
    • _source (=반환받고 싶은 특정필드 지정)에 어떤 필드를 정의할 것인가?
    • 날짜 타입을 갖는 필드는 무엇인가?
    • 매핑에 정의되지 않고 유입되는 필드는 어떻게 처리할 것인가?
반응형

'IT > Elasticsearch' 카테고리의 다른 글

data type: text  (0) 2021.10.03
data type: keyword  (0) 2021.10.03
문서관리 API  (0) 2021.10.02
Mapping error - "include_type_name is set to true"  (0) 2021.10.02
Node  (0) 2021.10.02