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*