본문 바로가기
WIKI 기술 지식 베이스

Transform type mappings

원문 보기 위키 갱신

출처: 문서

본문

타입 매핑 변환

오래된 Elasticsearch 데이터 세트는 다음 예시처럼 인덱스 하나에 여러 매핑 타입을 담고 있을 수 있어요.

{
  "mappings": {
    "book": {
      "properties": {
        "title": { "type": "text" }
      }
    },
    "movie": {
      "properties": {
        "title": { "type": "text" }
      }
    }
  }
}

최신 OpenSearch는 이 구조를 지원하지 않아요. 스냅샷에 멀티 타입 정의가 들어 있다면 metadataMigrationConfig.multiTypeBehavior 파라미터가 Migration Assistant가 이를 처리하는 방식을 결정해요. 다음 표에서 유효한 값을 설명해요.

옵션 동작 사용 시점
NONE 멀티 타입 매핑을 만나면 마이그레이션을 실패 처리해요. 진행하기 전에 멀티 타입 문제를 명시적으로 처리하고 싶을 때 사용해요.
UNION 모든 타입을 하나의 대상 인덱스에서 하나의 매핑으로 병합해요. 타입들이 하나로 병합된 매핑 아래에서 공존할 수 있을 만큼 호환될 때 사용해요.
SPLIT 각 타입을 별도의 대상 인덱스로 라우팅해요. 서로 다른 타입을 서로 다른 인덱스로 나눠야 하거나, 병합하면 필드 충돌이 생길 때 사용해요.

멀티 타입 동작 구성하기

워크플로 구성에서 multiTypeBehavior를 적절한 값으로 설정한 뒤 파일럿 마이그레이션을 실행하고, 전체 데이터 세트를 마이그레이션하기 전에 결과로 나온 대상 매핑과 인덱스 레이아웃을 검증하세요. 워크플로 구성을 편집하려면 다음 명령어를 실행해요:

workflow configure sample --load
workflow configure edit

{% include copy.html %}

커스텀 타입 트랜스포머

내장된 multiTypeBehavior 옵션만으로는 부족하다면, 메타데이터 마이그레이션 설정을 통해 커스텀 트랜스포머 구성을 제공할 수 있어요.

이건 전문가용 경로예요. 다음 경우에 사용해요:

  • 대상 인덱스 이름이 특정 패턴을 따라야 할 때
  • 선택된 타입만 마이그레이션해야 할 때
  • 내장된 워크플로 옵션과 다른 라우팅 로직이 필요할 때

결과 검증하기

파일럿 메타데이터 실행 후에는 다음 항목을 확인해요:

  • 생성된 대상 인덱스 이름
  • 병합으로 인해 발생한 필드 충돌
  • alias와 템플릿 동작
  • 특정 인덱스 레이아웃을 전제로 하는 애플리케이션 쿼리.

이 변환이 인덱스 이름이나 필드 의미를 바꾼다면, 클라이언트 구성도 함께 바꿔야 할 수 있어요.

더 알아보기 (Learn more)