1.ergeFactor,MaxMergeDocs等值并不是值越大越好
2.用RAMDirectory可以加快速度

解决方案 »

  1.   

    tangshuo() ( ) 信誉:100 你好.对于这个"ergeFactor,MaxMergeDocs等值并不是值越大越好"你能说一下吗?像我们公司其中大索引文件大小为4G,小索引为30MB.左右,设值该设多大为合适,才能提高最佳性能..
    我已经在你空间留言了..能帮我解决一下这个问题..在此非常感谢...
      

  2.   

    mergeFactor用来控制将Document对象写入磁盘的频率和大小,maxMergeDocs用来限制每个段文档的数量,minMerageDocs用来控制缓存Document对象的个数。因此,较大的mergeFactor参数会让lucene使用更多的RAM,加速了索引过程,但会降低搜索速度;较大的maxMergeDocs试用与批量索引的情况,较小的maxMergeDocs适用于交互性较强的索引;加大minMergeDocs参数可以提高索引的速度。另外,需要给JVM提供较大的内存堆,这样才能让mergeFactor和minMergeDocs接受更大的值,加快索引速度
      

  3.   

    mergeFactor 设置为indexWriter.setMergeFactor(100000);应该不是很大.
    minMerageDocs即indexWriter.setMaxBufferedDocs(Integer.MAX_VALUE);已经设为最大了.
    对那个JVM已经提供1024的内存堆了.这些都不是问题..
    能留下你的QQ或MSN吗?想及时和你交流一下...在此谢谢了哦..