创建lucene indexWriter开销?

时间:2011-08-06 12:02:18

标签: c# .net lucene.net

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

我想为50个不同的索引目录运行上面的代码,所以我想知道打开索引编写器是否有开销?

1 个答案:

答案 0 :(得分:0)

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

  

0113打开IndexWriter会为正在使用的目录创建一个锁定文件。试图打开   同一目录下的另一个IndexWriter将导致a   {@link LockObtainFailedException}。 {@link LockObtainFailedException}     如果使用同一目录中的IndexReader删除文档,也会抛出此异常   来自指数。

从第816行开始查看java source。这不是一个小构造函数,但你必须判断它有多重要。