[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打开的时候,它用的就是这个文件,所以你不能移动这个文件。
Global site tag (gtag.js) - Google Analytics