용어 설명
- 문서 가 변경되었을 때, 이것을 디스크에 반영 하고 파일을 다시 open 하여 검색 결과에 반영되도록 하는 과정
- Refresh 과정은 비용이 많이 드는 연산으로, 변경될 때마다 하지 않고 적절한 시기마다 주기적으로 수행한다
- 물론 ES 의
RefreshAPI 를 사용하면 강제로 실행할 수도 있다
- 물론 ES 의
Code Ref
- Lucene 의
DirectoryReader클래스로 파일을 열고 색인에 접근하기 위한 객체인IndexReader를 얻는다 - 수정사항을 검색에 반영하기 위해서는
DirectoryReader.openIfChanged를 통해 파일을 새로 열어주고,IndexReader를 새로 받은 후 기존의IndexReader는 닫아서 반영이 되게 함DirectoryReader.openIfChanged를 통해 아마 Lucene Flush 작업이 이루어지는 것 같음
- Elasticsearch 의
refreshIfNeeded메소드 - ElasticSearch 의
createReaderManager메소드