Lucene索引建立


      项目使用Lucene搭建搜索引擎,在全量建立索引时,把40w数据

一并load到内存,然后建立索引,当建到39w时,程序卡住很久没有动静,

此时,发现cpu使用100%,内存4g。


     所使用的机器内存8g,但jvm启动时设定了最大堆为4g,也就是说此时内存已经不够了。

在索引建立中,会定时进行索引merge,而merge需要把之前的索引load到内存进行,既耗时

又耗内存。


此时想出了两个解决方案:


1. 40w数据分页load内存,每页1w。

2. 修改jvm启动参数 Xms=8G,即最大的堆大小为8G。


   于是先采用方案一试验,结果不到4min就把40w数据的索引建立完毕,而整个过程内存使用在2g稍多。

所以方案二暂时不用。

你可能感兴趣的:(Lucene,搜索)