[lucene] 删除索引后,为什么无法删除*.cfs文件?
bbsskyhorse
2010-07-16
请教一个问题,我在单位里碰到一个项目,用lucene来做索引的建立和删除,用tomcat来启动程序。
当建立N个索引之后,如果再任意删除一个索引,在不关闭tomca的情况下,无法把整个索引库移动,显示某个“*.cfs"文件正在被打开中,请问为什么,是不是我的删除操作后,有什么索引没有被关闭? 部分代码如下: IndexReader reader = getIndexReader(cabinetId); for (int i = 0; i < filePath.length; i++) { String rsUrl = filePath[i]; Hits hits = searcher.search(new TermQuery(new Term( DocumentFields.URL, rsUrl))); for (int j = 0; j < hits.length(); j++) { int docNum = hits.id(j); reader.deleteDocument(docNum); } } reader.close(); 请行家指教! |
|
bit6211
2010-07-19
.cfs好像(好久没用有点忘)是当索引文件到达一定数量后,比如说10个,然后对这10个索引文件,进行优化,结合成一个.cfs文件。当你tomcat打开的时候,它用的就是这个文件,所以你不能移动这个文件。
|