1、调整MaxBufferedDocs和MergeFactor,经过调试,发现MaxBufferedDocs=1000,MergeFactor=100时性能较好。

Lucene性能调整indexModifier = new IndexModifier(@"c:\indexpath",new StandardAnalyzer(),true);
Lucene性能调整indexModifier.SetMaxBufferedDocs(
1000);
Lucene性能调整indexModifier.SetMergeFactor(
100);

2、使用IndexModifier类,线程安全的。
Lucene性能调整indexModifier.AddDocument(document);

3、使用线程池ThreadPool,有效利用硬件的特性。经调试,5个线程的效果是相当好的。
Lucene性能调整ThreadPool.SetMaxThreads(55);
    ThreadPool.QueueUserWorkItem(WaitCallBack, state);

4、最后别忘记了优化
Lucene性能调整indexModifier.Flush();
Lucene性能调整indexModifier.Optimize();
Lucene性能调整

5、使用RAMDirectory并不能带来多少性能改善,MaxBufferedDocs同样也是设置缓存

相关文章:

  • 2022-12-23
  • 2021-12-02
  • 2021-11-07
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-12
  • 2021-07-01
猜你喜欢
  • 2022-12-23
  • 2021-10-11
  • 2021-06-17
  • 2021-11-13
  • 2022-01-19
  • 2021-12-04
  • 2021-12-30
相关资源
相似解决方案