2013-09-22 3 views
0

비교적 많은 수의 (수십만) 동적으로 생성/업데이트/삭제 된 파일을 가진 디렉토리를 색인하기 위해 Lucene을 사용하고 있습니다. 필자는 파일 당 하나의 Lucene 문서를 가지고 있으며 파일 이름은 문서의 필드 중 하나입니다.lucene 삭제 된 파일 시스템 파일을 참조하는 문서를 삭제합니다.

Document doc = new Document(); 
    doc.add(new StringField("id", file.getName(), Store.YES)); 
    doc.add(new LongField("stamp", file.lastModified(), Store.YES)); 
    doc.add(new StringField("path", file.getAbsolutePath(), Store.YES)); 

파일 시스템에서 누락 된 파일을 참조하는 색인의 모든 문서를 반복하는 방법 (더 빠르게하는 것이 더 빠릅니다)은 어떻게됩니까?

답변

1

파일이 누락되었는지 여부에 대한 정보가 색인에 직접 저장되어 있지 않으면 모든 문서를 반복 (MatchAllDocsQuery 사용)하고 각 파일이 File.exists()을 사용하는지 확인하는 것보다 빠른 방법은 없습니다.

+0

MatchAllDocsQuery, 예! – bobah

관련 문제