补充:索引库记录在100以内的话基本不出现
java.lang.OutOfMemoryError: Java heap space
而索引库中记录在500条的时候就一直出现!无奈了......

解决方案 »

  1.   

      for(int i=curren*top;i <max;i++){
        sysout//////////////////////         
        Document doc = hits.doc(i);
        hashSet.add(doc.getField("id").stringValue());
    } 没分析过源码,帮不了你,循环中建了太多的对象
      

  2.   

    没办法,循环取ID啊,可以少创建一个如:hashSet.add(hits.doc(i).getField("id").stringValue());但也是报错...真的是没办法了,System.gc();也不行,循环完把doc = null;都不行....
      

  3.   

    Hits hits = isearcher.search(query); 
    这个估计已经创建了好多的对象了,能不能query限制下,以时间换空间
    因为,感觉一个doc是比较大的对象