인덱스 매핑 조회 API
인덱스 매핑 조회 API (Get Index Mappings API)
1.0부터 도입되었어요.
인덱스 매핑 조회(Get Mappings) API는 하나 이상의 인덱스에 대한 매핑 정의를 반환해요. 인덱스에서 필드가 어떻게 설정되어 있는지 확인하거나, 매핑 갱신이 적용되었는지 검증하거나, 리인덱싱 전에 전체 스키마를 검토할 때 이 API를 사용해요.
출처: 문서
본문
엔드포인트
GET /_mapping
GET /{index}/_mapping
경로 파라미터
사용할 수 있는 경로 파라미터는 아래 표와 같아요. 모든 경로 파라미터는 선택사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
index |
String | 매핑을 가져올 인덱스 이름의 쉼표로 구분된 목록이에요. 와일드카드 표현식을 지원해요. 모든 인덱스의 매핑을 가져오려면 이 파라미터를 생략하거나 _all 또는 *을 사용해요. |
쿼리 파라미터
사용할 수 있는 쿼리 파라미터는 아래 표와 같아요. 모든 쿼리 파라미터는 선택사항이에요.
| 파라미터 | 데이터 타입 | 설명 | 기본값 |
|---|---|---|---|
allow_no_indices |
Boolean | 어떤 인덱스와도 일치하지 않는 와일드카드를 무시할지 여부를 지정해요. false이면 와일드카드가 어떤 인덱스와도 일치하지 않을 때 오류를 반환해요. |
true |
cluster_manager_timeout |
String | 클러스터 매니저 노드에 연결될 때까지 기다리는 시간이에요. | 30s |
expand_wildcards |
String | 와일드카드 표현식이 확장될 수 있는 인덱스 유형을 지정해요. 쉼표로 구분된 값을 지원해요. 유효한 값은 all(숨은 인덱스를 포함한 모든 인덱스), open(열린 인덱스), closed(닫힌 인덱스), hidden(숨은 인덱스 — open, closed, 또는 둘 다와 함께 사용해야 해요), none(와일드카드 표현식을 받지 않음). |
open |
ignore_unavailable |
Boolean | 누락되었거나 닫힌 인덱스를 무시할지 지정해요. true면 누락되거나 닫힌 인덱스가 응답에 포함되지 않아요. |
false |
local |
Boolean | 클러스터 매니저 노드 대신 로컬 노드에서만 정보를 가져올지 지정해요. | false |
예시: 단일 인덱스의 매핑 가져오기
다음 예제는 products 인덱스의 매핑을 가져와요:
GET /products/_mapping
예시: 여러 인덱스의 매핑 가져오기
쉼표로 구분된 목록을 지정하면 단일 요청으로 여러 인덱스의 매핑을 가져올 수 있어요:
GET /products,products-us/_mapping
예시: 모든 매핑 가져오기
클러스터의 모든 인덱스 매핑을 가져오려면 인덱스 이름을 생략해요:
GET /_mapping
응답 예시
{
"products" : {
"mappings" : {
"properties" : {
"description" : {
"type" : "text"
},
"item_id" : {
"type" : "alias",
"path" : "product_id"
},
"manufacturer" : {
"properties" : {
"country" : {
"type" : "keyword"
},
"name" : {
"type" : "text"
}
}
},
"price" : {
"type" : "float"
},
"product_id" : {
"type" : "keyword"
},
"product_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"sku" : {
"type" : "keyword",
"ignore_above" : 50
},
"weight" : {
"type" : "integer"
}
}
}
}
}
응답 본문 필드
응답에는 각 키가 인덱스 이름인 JSON 객체가 포함돼요. 아래 표는 각 인덱스 항목 안의 필드를 설명해요.
| 필드 | 데이터 타입 | 설명 |
|---|---|---|
mappings |
Object | 인덱스의 매핑 정의예요. |
mappings.properties |
Object | 필드 이름과 매핑 구성(타입, 파라미터, 중첩 하위 필드 포함)의 매핑(map)이에요. |
필요한 권한
보안 플러그인을 사용한다면 다음 권한이 필요해요: indices:admin/mappings/get.