Field Capabilities API — 여러 인덱스에 걸친 필드 정의 불일치를 찾는다
Elasticsearch Field Capabilities API 및 Rollover 조건 공식 문서 종합 (웹 리서치, 2026) — Elastic 공식 문서(search-field-caps, index-lifecycle-actions/ilm-rollover, manage-data/lifecycle/index-lifecycle-management/rollover) Elastic 공식문서 Field capabilities API
이 모듈을 다 읽으면
- _field_caps가 elasticsearch-learn-03의 매핑 확인(단일 인덱스)과 어떻게 다른 스코프를 다루는지 설명할 수 있다
- 같은 필드가 인덱스마다 타입이 다를 때 이 API가 어떻게 그 사실을 드러내는지 설명할 수 있다
elasticsearch-learn-03에서 다룬 인덱스 하나의 매핑(필드 타입 정의)을 전제로, 그 필드 정의가 여러 인덱스에 걸쳐 일관되는지를 한 번에 확인하는 Field Capabilities API를 정리한다.
여러 인덱스의 필드 정보를 한 번에 조회한다
elasticsearch-learn-03에서 다룬 매핑 조회는 인덱스 하나를 대상으로 그 필드 타입을 확인하는 것이었다. _field_caps API는 이를 여러 인덱스로 확장한다 — 와일드카드 패턴(my-index-*)으로 여러 인덱스를 한 번에 지정하면, 각 필드의 타입(인덱스마다 다르면 그 여러 타입을 전부), 검색 가능 여부(searchable), 집계 가능 여부(aggregatable)를 정리해 보여준다. 데이터 스트림에 대해서는 그 스트림의 백업(backing) 인덱스들 전체를 대상으로 이 정보를 반환한다.
핵심 포인트
- 와일드카드로 여러 인덱스를 한 번에 지정 → 각 필드의 타입(인덱스마다 다르면 그 전부)·검색가능여부·집계가능여부를 조회
- 데이터 스트림에 대해서는 그 스트림의 백업 인덱스 전체를 대상으로 반환
실무 용도 — 스키마 불일치 발견과 index_filter
가장 흔한 용도는 스키마 발견(schema discovery)이다 — 롤오버가 반복되며 여러 백업 인덱스가 쌓인 데이터 스트림에서, 시간이 지나며 매핑이 조금씩 바뀐 경우가 있는지(예: 어떤 인덱스는 status가 keyword인데 다른 인덱스는 text) 한 번에 파악할 수 있다. include_unmapped 파라미터를 쓰면 일부 인덱스에만 존재하는 필드도 결과에 포함시킬 수 있고, index_filter로 쿼리 기반으로 대상 인덱스 범위를 미리 좁힐 수도 있다(인덱스 통계·매핑을 이용한 최선 노력 방식). level 파라미터로는 인덱스 각각의 필드 능력을 개별적으로 볼 수도 있다.
핵심 포인트
- 가장 흔한 용도: 롤오버로 쌓인 데이터 스트림의 여러 백업 인덱스에서 매핑이 시간에 따라 달라진 스키마 불일치를 한 번에 발견
- include_unmapped(일부 인덱스에만 있는 필드 포함)/index_filter(대상 인덱스 범위 사전 축소)/level(인덱스별 개별 조회) 옵션 제공