2012-09-19 2 views
1

여러 번 사용할 수 있도록 FSDirectory로 lucene 색인을 작성합니다. 따라서 새로운 배치가 실행될 때 lucene에 의해 작성된 모든 다른 파일을 삭제해야합니다 하드 드라이브에서 삭제되었습니다.다른 세그먼트 파일과 함께 lucene 디렉토리를 삭제하는 방법

IndexWriter.deleteAll()은 모든 문서를 삭제하지만 여전히 일부 분할 파일은 삭제되지 않습니다. lucene 디렉토리에있는 세그먼트 파일을 삭제하는 방법을 알려주십시오.

서로 다른 세그먼트 파일 segments.gen segments_2 있는 등

+0

왜 색인 디렉토리에'java.io.File'을 가져 와서'delete()'를 호출하면 좋을까요? 아직 존재하지 않는 경우 색인 디렉토리를 작성하도록 호출 IndexWriter를 구성 할 수 있습니다. – Vikdor

+0

이것은 lucene에 의해 생성되지 않은 다른 파일들을 삭제합니다. lucene에서 만든 파일을 삭제하는 방법이 있어야합니다. – Jathin

+2

Lucene 색인과 동일한 디렉토리에 파일을 저장하는 것은 좋지 않습니다. – jpountz

답변

0

루씬은보다 '카운터'낮은 값을 받고 새로운 세그먼트 결코에 대한 몇 가지 가정을 유지 할 수 있도록 세그먼트 정보를 유지 이전 세그먼트. 위치를 재사용하고 색인을 전체적으로 삭제하고 동일한 위치에 새 색인을 만들려면 삭제하는 것이 무의미한 것처럼 보입니다.

Lucene의 파일을 외부에서 삭제하는 것은 문제의 처방입니다.

관련 문제