【发布时间】:2012-02-23 16:49:35
【问题描述】:
我正在为我使用 Lucene.net 开发的应用程序编制大量日志文件的索引。现在我正在解析每个条目的日志文件(即一个条目可以跨越多行,直到下一个日志条目)并将每个日志条目添加为 Lucene 中的文档。
每个文档都包含日志条目(被分析)和一些其他字段(只是存储),例如日志行时间、日志行号以及它来自什么类型的日志。我还为每个日志条目文档提供了一个 guid,以将一系列日志条目映射回原始源文档,并且我可以按行号重新排序它们。
虽然我喜欢能够在我的索引中搜索每行条目的粒度(并且我可以通过关闭分配给每个日志文件的 guid 来重建原始文档),但我很好奇这种索引是否创造将是可持续的。事实上,我已经有大约 2500 万个条目,它们代表仅一年的日志。我的搜索速度还是挺快的,我可以在一两秒内搜索到这 2500 万条记录。
文档越少,每个文档越大越好吗?有关系吗?当我有 5000 万个条目时,我会遇到 Lucene 的性能瓶颈吗?一亿? 5亿?如果我只为每个日志文件编制索引,如果我估计每个日志文件大约有 1000-20000 行,我可能会少 3 个数量级的文档。
【问题讨论】:
标签: c# lucene lucene.net