You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lucene.NET内存使用无法限制:IndexWriterConfig参数失效问题

Lucene.NET IndexWriter内存占用过高无法释放的问题

我已在Apache Lucene.NET的GitHub仓库提交了相关Issue。当前使用的版本如下:

  • Lucene.Net 4.8.0-beta00016
  • Lucene.Net.Analysis.Common 4.8.0-beta00016

执行的代码如下:

using var analyzer = new KeywordAnalyzer();
using var directory = FSDirectory.Open(IndexPath);
var config = new IndexWriterConfig(LuceneVersion, analyzer)
{
    OpenMode = OpenMode.CREATE, // Use OpenMode.CREATE to overwrite, or OpenMode.APPEND to just open
    RAMPerThreadHardLimitMB = 100,
    RAMBufferSizeMB = 100,
};
using var writer = new IndexWriter(directory, config);

// Write index to disk
writer.AddDocuments(productDocuments);
writer.AddDocuments(productCategoryDocuments);
writer.AddDocuments(productTypeDocuments);
writer.AddDocuments(productLineDocuments);
writer.Commit();

调用writer.AddDocuments()后内存占用大幅飙升,多次运行后内存占用可达3GB且无法释放。我已尝试设置RAMBufferSizeMB、RAMPerThreadHardLimitMB、MaxBufferedDocs参数,以及执行flush、Dispose()操作,但均无效果。

请问是否遗漏了文档中的配置,或有其他方法限制Lucene.NET IndexWriter的内存使用?


内容的提问来源于stack exchange,提问作者PeterOeClausen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:45:29