如何释放所有lucene .net文件句柄?

时间:2011-02-20 18:49:31

标签: lucene io lucene.net

我想运行一个完全销毁然后从头开始重建我的lucene .net搜索索引的进程。

我被困在破坏部分

我打过电话:

IndexWriter.Commit(); IndexWriter.Close(); Analyzer.Close(); foreach(Directory.ListAll()中的var名称){Directory.ClearLock(name); Directory.DeleteFile(名); } Directory.Close();

但该过程失败,因为它仍然是文件'_0.cfs'

上的文件处理程序

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您是否在IIS中托管?尝试iisreset(有时IIS会自己保留文件)。

答案 1 :(得分:0)

只需拨打IndexWriter.DeleteAll()后跟IndexWriter.Commit(),它就会删除索引内容并让您开始使用空索引,而已经打开的读者仍然可以读取数据直到关闭。旧文件一旦不再使用,将自动删除。