Lucene을 기반으로하는 자택 검색 서비스가 있습니다. 몇 시간 전에 직면했던 특정 질문 중 하나는 IndexWriter
에 대한 보류중인 변경 사항의 수를 얻는 것입니다. 보류중인 변경 카운터가 0 인 경우 인덱스에 커밋 할 필요가 없습니다. IndexReader
, IndexSearcher
등을 다시 열면됩니다. 또한 IndexReader.commit()
호출에 연결된 일부 응용 프로그램 수준 논리가 있으며 커밋 시점에서 실제 변경 사항이없는 경우 호출하지 않는 것이 좋습니다.IndexWriter에서 보류중인 변경 수 가져 오기
IndexReader.updateDocument()
및 IndexReader.remove()
메서드가 호출되는 모든 위치에 액세스 할 수 있으므로 보류중인 변경 내 자신의 카운터를 간단히 작성할 수 있습니다. 하지만 Lucene API 자체에 이미 존재하는 것이있을 수 있습니다. API 확인으로 해당 주제에 대한 충분한 정보를 얻을 수 없습니다.