Lucene.Net版本并可能跳过优化(对于lucene 3.0.3)?

时间:2017-02-26 09:15:56

标签: .net lucene

我们正在研究.Net中的搜索引擎并使用Lucene.net库。 在编制索引时,我们遇到了一些缓慢的问题,当我们在谷歌上搜索时,我们发现在这个领域有一些比我们正在使用的更高版本的增强功能。

看起来Lucene的最高.Net版本是3.0.3,而在Java中,版本要高得多。

有没有人知道Lucene更高的.net版本? Lucene .net版本的java Lucene版本是否相同?

我们需要索引很多数据,所以我们不确定完全跳过Optimize步骤(3.0.3 lucene版本)是否明智。 此外,任何人都知道如果我们在完成工作后不在Writer上调用Dispose会发生什么?

1 个答案:

答案 0 :(得分:1)

  • Lucene.Net 4.8现已开始测试版,check it out here

  • 是的,Lucene.Net版本的意图与Lucene的相同版本基本相同。

  • 如果没有Optimize,你可能会幸免于难。优化通常会使搜索速度更快,但这是一项非常昂贵的操作。如果要为整个数据集建立索引,并且在该点之后它将保持很大的静态,那么它可能是一个好主意,因为它将优化当前状态或索引的搜索效率。在写完一些文档后,建议不要 。优化的东西在后台由作者的MergePolicy动态处理。如果您的数据不断变化和更新,您可以让MergePolicy做到这一点。在4.8中,优化被替换为ForceMerge,以便更明确(并且不那么诱人)。

  • 完成作者后,应始终致电Dispose。如果不这样做,您的更改可能不会被提交,并且索引上的锁定可能不会被释放。