본문 바로가기

춤추는 프로그래머/Big Data

ElasticSearch에서 인덱스의 상태 정보 가져오기 (인덱스 사이즈, 문서 개수)

자바 API를 사용하여 ElasticSearch에서 인덱스의 상태 정보 가져오는 방법은 다음과 같다.


// IndicesStatusRequest  객체 

IndicesStatusRequest indicesStatusRequest = new IndicesStatusRequest(new String[] {indexName});


// 요청 객체 실행하기

IndicesStatusResponse indicesStatusResponse =     

    client.admin().indices().status(indicesStatusRequest).actionGet();


// 응답 객체로부터 필요한 정보 가져오기

// 복제본을 포함한 인덱스의 전체 사이즈를 문자열 형태로 가져오기

String indexSize = indicesStatusResponse.index(indexName).getStoreSize().toString();


// 복제본을 제외한 Primary 사이즈만을 문자열 형태로 가져오기

String indexSize = indicesStatusResponse.index(indexName).getPrimaryStoreSize().toString();


// 인덱스에 포함된 문서 개수 가져오기

long numDocs = indicesStatusResponse.index(indexName).getDocs().getNumDocs();