我想知道是否可以索引和存储许多大小超过 4GB 的大文件。我这样做没有问题,并且搜索文档有一个例外 - 我无法检索和突出显示匹配文档的内容。下面的代码允许我创建可搜索索引而不会耗尽内存。
var doc = new Document();
doc.Add(new Field(string, TextReader));
将其更改为下面的行最终会导致内存不足异常。
new Field(string, TextReader.ReadToEnd(), Field.Store.YES, Field.Index.ANALYZED)
我能够索引和存储 28 个文件,每个文件 150MB,这使我能够搜索和检索匹配的文本。但是,查询性能是不可接受的,经过两三次搜索后,就会抛出内存不足异常。我了解异常的原因及其发生的原因。社区的问题是我错过了什么吗?Lucene API 中是否有解决我的问题的功能?我已经有了一个解决方案,可以拆分文件并执行我想要实现的目标,而无需在多个服务器上水平扩展应用程序并创建文件块。
提前致谢!