Lucene性能调整
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同样也是设置缓存
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2、使用IndexModifier类,线程安全的。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3、使用线程池ThreadPool,有效利用硬件的特性。经调试,5个线程的效果是相当好的。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ThreadPool.QueueUserWorkItem(WaitCallBack, state);
4、最后别忘记了优化
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5、使用RAMDirectory并不能带来多少性能改善,MaxBufferedDocs同样也是设置缓存
posted on 2007-08-14 18:01 amber lee zhao 阅读(1068) 评论(0) 编辑 收藏 举报