创建lucene indexWriter开销

本文关键字:开销 indexWriter lucene 创建 | 更新日期: 2023-09-27 18:04:54

IndexWriter myWriter = new IndexWriter(pathOnDisk);
int segCount = myWriter.GetSegmentCount();
if (segCount > 1)
   myWriter.Optimize();
myWriter.Close()

我想为50个不同的索引目录运行上面的代码,所以我想知道如果打开一个indexwriter有开销吗?

创建lucene indexWriter开销

它有一些开销,包括创建一个锁文件(参见第133行),读取段信息,以及一堆其他可能昂贵也可能不昂贵的东西。

0113打开IndexWriter会为正在使用的目录创建一个锁文件。试图打开同一目录上的另一个IndexWriter将导致一个{@link LockObtainFailedException}。{@link LockObtainFailedException}如果使用同一目录上的IndexReader删除文档,也会抛出从索引

查看java源代码,从第816行开始。这不是一个小的构造函数,但是您必须判断它的重要性。