Lucene.Net – IndexWriter.SetMergedSegmentWarmer

任何人都有一个如何在Lucene.Net中使用IndexWriter.SetMergedSegmentWarmer的例子?

当我尝试像……

IndexWriter.IndexReaderWarmer warmer = new IndexWriter.IndexReaderWarmer(); indexWriter.SetMergedSegmentWarmer(warmer); 

我明白了

无法创建抽象类或接口的实例’Lucene.Net.Index.IndexWriter.IndexReaderWarmer’

好吧,你应该写自己的。 IndexWriter.IndexReaderWarmer是抽象类,因此它不提供预热实现。 此类的目的是定义IndexReaderIndexReaderWarmer之间的契约,以便它们可以正确地进行通信。

编写自己的实现并非易事。 您应该决定如何让读者感到温暖。 几个想法:

  • 通过新读者执行最近执行的查询;
  • 执行静态查询;
  • 仅执行FieldCache预加载。