728x90
전 시간에 Delete API를 이용하여 ElasticSearch의 Index의 Document를 삭제하는 방법을 알아보았다.
그럼 삭제를 하게 되면 Index의 데이터는 바로 사라질까?
답은 No이다
ElasticSearch에서 모든 문서는 삭제 여부를 표시하는 비트 배열이 내부적으로 존재한다. 삭제 요청이 들어오면 삭제 될 대상 데이터의 비트 배열을 찾아 삭제 여부(flag) 표시를 한다.
그럼 삭제를 하지 않으면 계속 데이터가 쌓이게 되고.....디스크가 Full이 날 수도 있겠는데? 라고 의문이 들수도 있겠지만
걱정하지 않아도 된다.
백그라운드에서 주기적으로 Merge작업이 일어나면서 쪼개진 세그먼트들을 합칠 때 삭제가 된다.
그렇기 때문에 삭제를 해도 Merge작업이 일어나기 전까지는 데이터는 아직 남아있는 상태라고 보면 된다.
하지만 검색에서 보이지 않는 이유는 해당 flag값을 보고 검색 대상에서 제외하기 때문에 검색에서는 노출이 되지 않는다.
'검색엔진 > ElasticSearch' 카테고리의 다른 글
ElasticSearch - Rolling Restart (0) | 2022.03.22 |
---|---|
ElasticSearch - Full-cluster Restart (0) | 2022.03.21 |
ElasticSearch Delete API (0) | 2022.03.03 |
ElasticSearch Health (0) | 2022.02.24 |
ElasticSearch 1대로 사용할 때 인덱스 Health가 yellow인 경우? (0) | 2022.02.17 |