【发布时间】:2012-10-08 15:16:24
【问题描述】:
向 Lucene.Net 数据库添加许多记录时,数据文件的大小会缓慢增加。这会产生不希望的副作用,即在具有许多 Lucene 数据库并经常更改它们的系统上导致大量磁盘碎片。
我的问题是:有没有办法为 Lucene.Net DB 预先分配硬盘空间以减少碎片?
如果重要的话,我正在用 C# 编写代码。
【问题讨论】:
标签: c# lucene lucene.net
向 Lucene.Net 数据库添加许多记录时,数据文件的大小会缓慢增加。这会产生不希望的副作用,即在具有许多 Lucene 数据库并经常更改它们的系统上导致大量磁盘碎片。
我的问题是:有没有办法为 Lucene.Net DB 预先分配硬盘空间以减少碎片?
如果重要的话,我正在用 C# 编写代码。
【问题讨论】:
标签: c# lucene lucene.net
您可以构建一个自定义目录实现,将数据存储在一个更大的预分配文件中。
已经有一个名为big-dir 的项目为 Lucene(Java 版本)执行此操作,您可以将其移植到 C#。根据他们的页面,它处于早期 alpha 阶段,但他们在文件容器中创建虚拟文件系统的想法对您来说似乎是一个可行的解决方案。
【讨论】: