데이터가 elasticseasrch로 들어오면 이것을 메모리에 모아두고 새로운 새그먼트를 디스크에 기록하여 검색을 리프레쉬 한다. 이렇게 리프레쉬 되어 검색 가능한 세그먼트가 만들어지게 된다.
"refresh_interval" : "60s",
refresh_interval 로 segment가 리프레쉬되는 시간을 설정할 수 있다.
이를 "1s"로 했을때 실시간 검색이 되는 것이다.
segment는 불면으 성질을 지니기 때문에 데이터가 업데이트되면 실제로는 삭제되었다고 마크만 하고 새로운 데이터를 가르킨다.
그리고 마크된 데이터는 디스크에 남아있다가 백그라운드에서 주기적으로 또는 특정 임계치를 넘기면 더이상 필요 없는 마크된 데이터들을 정리하고 새로운 segment로 병합한 후 이때 비로소 segment가 삭제된다.
이를 segment merge(세그먼트 병합)이라고 한다.