0
내 질문 잠금 :이 테스트에서루씬 .NET IndexWriter 다음 코드와 관련된
static void Main(string[] args)
{
Lucene.Net.Store.Directory d = FSDirectory.Open(new DirectoryInfo(/*my index path*/));
IndexWriter writer = new IndexWriter(d, new WhitespaceAnalyzer());
//Exiting without closing the indexd writer...
}
을, 나는 그것을 닫지 않고 IndexWriter을 열어 - 그래서 심지어는 시험 종료 후 write.lock 파일이 여전히 존재 인덱스 디렉토리에서 다음 번에 해당 인덱스에 대한 IndexWriter 인스턴스를 열면 LockObatinFailedException
이 발생합니다. 누군가 내가 왜 잘못했는지 설명해 줄 수 있습니까? 즉, write.lock 파일의 의미는 동일한 프로세스에서만 두 개의 IndexWriter 생성을 보호하는 것입니까? 당신은 예외를 얻을 것이다
IndexWriter writer = new IndexWriter("Path to index here", new WhitespaceAnalyzer());
: 나던 나에게 정답 ... 당신이 코드를 변경하는 경우, 그 IndexWriter 생성자 버그가있는 것 같습니다
당신 말이 맞습니다! 문자열 대신 Directory를 사용하는 모든 생성자는 예외를 throw하지 않습니다 ...이 문제가 이후 버전에서 수정되었는지 궁금합니다. 어쨌든, 고맙습니다 :) –