1、调整MaxBufferedDocs和MergeFactor,经过调试,发现MaxBufferedDocs=1000,MergeFactor=100时性能较好。 indexModifier = new IndexModifier(@"c:\indexpath",new StandardAnalyzer(),true);indexModifier.SetMaxBufferedDocs(1000);indexModifier.SetMergeFactor(100); 2、使用IndexModifier类,线程安全的。 indexModifier.AddDocument(document); 3、使用线程池ThreadPool,有效利用硬件的特性。经调试,5个线程的效果是相当好的。 ThreadPool.SetMaxThreads(5, 5); ThreadPool.QueueUserWorkItem(WaitCallBack, state); 4、最后别忘记了优化 indexModifier.Flush();indexModifier.Optimize(); 5、使用RAMDirectory并不能带来多少性能改善,MaxBufferedDocs同样也是设置缓存 相关文章: