首页->FAQ->显示文章

Google
 

Lucene中的commit.lock文件是做什么的?哪个类在使用它?

译自:原文地址

commit.lock文件用于防止索引中的段文件(“segment”)不一致。段文件确定了索引中其他文件的名字,在IndexReader类读取段文件之前,获取这个锁,打开其他这些文件之后,就释放这个锁。

IndexWriter类写入段文件之前,也获取commit.lock文件,直到它删除废弃的索引文件之后,就释放这个锁。

commit.lock文件不会保持太久的时间,因为获取的文件仅打开或者删除,以及读取或写入一些很小的文件。

注意,从Lucene 2.1版后,commit.lock已经不再被使用了。替他的防止段文件不一致性的方法是,Lucene把第N次提交的增量更新写入到segment-N文件内。write.lock仍在使用。参见LUCENE-701

所属分类: [lucene] [Java]
tag: 并发, ,

tinyfool发布于2009年12月04日 14:36