캐시 비우기 API
캐시 비우기 API (Clear Cache API)
1.0에서 도입되었어요. clear cache API 작업은 하나 이상의 인덱스의 캐시를 비워요. 데이터 스트림의 경우, 이 API는 스트림을 구성하는 backing index들의 캐시를 비워요.
Security plugin을 사용한다면 manage index 권한이 있어야 해요.
출처: 문서
본문
엔드포인트 (Endpoints)
POST /{target}/_cache/clear
경로 파라미터 (Path parameters)
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| target | String | 캐시 비우기가 적용되는 데이터 스트림, 인덱스, 인덱스 별칭의 쉼표 구분 목록이에요. 와일드카드 표현(*)을 지원해요. 클러스터의 모든 데이터 스트림과 인덱스를 대상으로 하려면 이 파라미터를 생략하거나 _all 또는 *를 사용해요. 선택 사항이에요. |
쿼리 파라미터 (Query parameters)
모든 쿼리 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| allow_no_indices | Boolean | 어떤 인덱스와도 일치하지 않는 와일드카드, 인덱스 별칭, _all 대상(target 경로 파라미터) 값을 무시할지 여부예요. false이면 어떤 와일드카드 표현, 인덱스 별칭, _all 대상 값도 인덱스와 일치하지 않을 때 요청이 오류를 반환해요. 이 동작은 요청 대상에 다른 열린 인덱스가 포함되어 있을 때도 적용돼요. 예를 들어 대상이 fig*,app*인 요청에서 fig로 시작하는 인덱스는 있지만 app으로 시작하는 인덱스가 없으면 오류를 반환해요. 기본값은 true예요. |
| expand_wildcards | String | 와일드카드 표현이 확장될 수 있는 인덱스 유형을 결정해요. open,hidden처럼 쉼표로 구분된 여러 값을 받아요. 유효한 값은 다음과 같아요. all — 열린, 닫힌, 숨겨진 인덱스로 확장해요. open — 열린 인덱스로만 확장해요. closed — 닫힌 인덱스로만 확장해요. hidden — 숨겨진 인덱스를 포함하도록 확장해요. open, closed, 또는 둘 다와 함께 사용해야 해요. none — 확장을 허용하지 않아요. 기본값은 open이에요. |
| fielddata | Boolean | true이면 필드 캐시(fields cache)를 비워요. 특정 필드의 캐시를 비우려면 fields 파라미터를 사용해요. 기본값은 true예요. |
| fields | String | fielddata 파라미터와 함께 사용해요. 캐시에서 비워질 필드 이름의 쉼표 구분 목록이에요. 객체나 필드 별칭은 지원하지 않아요. 기본값은 모든 필드예요. |
| file | Boolean | true이면 Search 역할을 가진 노드의 파일 캐시에서 사용되지 않는 항목을 비워요. 기본값은 false예요. |
| index | String | 캐시에서 비워질 인덱스 이름의 쉼표 구분 목록이에요. |
| ignore_unavailable | Boolean | true이면 OpenSearch가 없거나 닫힌 인덱스를 무시해요. 기본값은 false예요. |
| query | Boolean | true이면 쿼리 캐시를 비워요. 기본값은 true예요. |
| request | Boolean | true이면 요청 캐시를 비워요. 기본값은 true예요. |
예제 요청 (Example requests)
다음 예제 요청들은 clear cache API의 여러 사용법을 보여줘요.
특정 캐시 비우기 (Clear a specific cache)
다음 요청은 필드 캐시만 비워요.
다음 요청은 쿼리 캐시만 비워요.
다음 요청은 요청 캐시만 비워요.
특정 필드의 캐시 비우기 (Clear the cache for specific fields)
다음 요청은 fielda와 fieldb의 필드 캐시를 비워요.
특정 데이터 스트림 또는 인덱스의 캐시 비우기 (Clear caches for specific data streams or indexes)
다음 요청은 두 특정 인덱스의 캐시를 비워요.
모든 데이터 스트림과 인덱스의 캐시 비우기 (Clear caches for all data streams and indexes)
다음 요청은 모든 데이터 스트림과 인덱스의 캐시를 비워요.
검색 가능한 노드의 캐시에서 사용되지 않는 항목 비우기 (Clear unused entries from the cache on search-capable nodes)
예제 응답 (Example response)
POST /books,hockey/_cache/clear 요청은 다음 필드를 반환해요.
{
"_shards" : {
"total" : 4,
"successful" : 2,
"failed" : 0
}
}
응답 본문 필드 (Response body fields)
POST /books,hockey/_cache/clear 요청은 다음 응답 필드를 반환해요.
| 필드 | 데이터 타입 | 설명 |
|---|---|---|
| _shards | Object | 샤드 정보예요. |
| total | Integer | 전체 샤드 수예요. |
| successful | Integer | 캐시를 성공적으로 비운 인덱스 샤드 수예요. |
| failed | Integer | 캐시 비우기에 실패한 인덱스 샤드 수예요. |
필요한 권한 (Required permissions)
Security plugin을 사용한다면 indices:admin/cache/clear 권한이 있는지 확인하세요.