alias 필드 타입

alias 필드 타입

도입: 1.0

alias 필드 타입은 기존 필드에 대한 또 다른 이름을 만들어요. 몇 가지 예외를 제외하고 search 및 field capabilities API 작업에서 alias를 사용할 수 있어요. alias를 설정하려면 path 파라미터에 원본 필드 이름을 지정해야 해요.

출처: 문서

본문

예제

PUT movies 
{
  "mappings" : {
    "properties" : {
      "year" : {
        "type" : "date"
      },
      "release_date" : {
        "type" : "alias",
        "path" : "year"
      }
    }
  }
}

파라미터

파라미터 설명
path 모든 상위 객체를 포함한 원본 필드의 전체 경로. 예: parent.child.field_name. 필수.

alias 필드

alias 필드는 다음 규칙을 따라야 해요:

  • alias 필드는 원본 필드를 하나만 가질 수 있어요.
  • 중첩 객체에서 alias는 원본 필드와 동일한 중첩 수준을 가져야 해요.
  • alias가 참조하는 필드를 변경하려면 매핑을 업데이트하세요. 이전에 저장된 percolator 쿼리의 alias는 여전히 원본 필드를 참조한다는 점에 유의하세요.

원본 필드

alias의 원본 필드는 다음 규칙을 따라야 해요:

  • 원본 필드는 alias가 생성되기 전에 만들어져야 해요.
  • 원본 필드는 객체(object)이거나 다른 alias일 수 없어요.

search API 작업에서 alias 사용하기

다음 search API의 읽기 작업에서 alias를 사용할 수 있어요:

  • Queries
  • Sorts
  • Aggregations
  • stored_fields
  • docvalue_fields
  • Suggestions
  • Highlights
  • 필드 값에 접근하는 Scripts

field capabilities API 작업에서 alias 사용하기

field capabilities API에서 alias를 사용하려면 fields 파라미터에 지정하세요.

GET movies/_field_caps?fields=release_date

예외

다음 상황에서는 alias를 사용할 수 없어요:

  • update 요청 같은 쓰기(write) 요청에서.
  • multi-fields 또는 copy_to의 대상으로.
  • 결과를 필터링하기 위한 _source 파라미터로.
  • term vectors 같은 필드 이름을 받는 API에서.
  • terms, more_like_this, geo_shape 쿼리에서(문서를 검색할 때 alias가 지원되지 않음).

와일드카드

search 및 field capabilities 와일드카드 쿼리에서는 와일드카드 패턴에 원본 필드와 alias가 모두 매칭돼요.

GET movies/_field_caps?fields=release*

더 알아보기 (Learn more)