Lucene . net不产生与直接写入索引相同的结果

  • 本文关键字:索引 结果 net Lucene .net lucene.net
  • 更新时间 :
  • 英文 :


我一直在尝试一些方法来异步初始化我们的Lucene索引。

其中一种方法是将小批量的数据编入单独的索引,然后合并成一个更大的索引。

问题是,当任务完全完成时,我们的索引似乎没有产生相同类型的结果。

现在许多特定的查询将产生相同数量的结果,例如:contentType:通知

A所有文档选择器也产生相同的结果。(:

但是如果我做一个通配符搜索,例如:'c*'这个索引是由碎片索引构建的,然后合并产生0个结果,但是一次写一个可以产生几十万个结果(这是公平的,因为c*是一个相当广泛的搜索)…

合并后的索引需要做什么,或者在处理上有什么不同吗?我试着在它们上运行优化,但没有运气。

不知道任何细节…我得说你在这个螺母上用的锤子太大了:)

我曾经处理过批量创建的索引(数百万个文档)和增量索引(每天在数百万个文档上更新100K以上)。这两种方法都只是在单个索引目录上使用单个IndexWriter。

诀窍是适当地调整IW合并策略和/或通过偶尔更新IndexReader来调整搜索器的"延迟"。这实际上是将一个IR"缓存"一段时间,以牺牲有点过时为代价来提高搜索速度。根据预期调整周期

如果这仍然是一个问题,我可以扩展方法

最新更新