我的问题与下一个代码片段有关:
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 文件仍然存在于 index 目录中,所以我预计下次我打开一个 IndexWriter 到该索引的实例时,LockObatinFailedException
会被抛出。有人可以向我解释为什么我错了吗?我的意思是,write.lock 文件的含义是否只是保护在同一进程中创建两个 IndexWriters?这对我来说似乎不是正确的答案......