我需要加载文件路径和超过10万个文件的内容。这些文件的大小各不相同,有些可能会很大。
使用2-3k文件进行测试时,提交需要花费几秒钟的时间。
使用10万个文件进行测试时,应用程序冻结了多个小时(可能无限期)。
这就是我创建作家的方式。
final IndexWriterConfig config = new IndexWriterConfig(analyzer);
config.setOpenMode(OpenMode.CREATE_OR_APPEND);
final TieredMergePolicy t = new TieredMergePolicy();
t.setForceMergeDeletesPctAllowed(.01);
config.setMergePolicy(t);
config.setRAMBufferSizeMB(128);
writer = new IndexWriter(directory, config);
writer.forceMergeDeletes();
writer.commit();
对此有哪些可能的解决方案?