最近一直在搞lucene和quartz的自动调度。
自己的想法是,
lucene构建index的数据来自数据库中,建立2个索引,一个是正式的索引,还有一个是临时索引,临时索引在每天的凌晨进行索引还有一个合并临时索引和正式索引的类,也在其建立完成之后进行运行。
或者可以在数据量在原有基础上增加了多少的时候进行,临时索引和合并索引,只不过这种方式,首要条件是你的服务器必须强大,因为在建立临时索引和合并索引的时候会很卡。
还有一种方法是比较浙中一点的,首先考虑数据量增加了多少,当达到这个值的时候再在第二天的凌晨进行临时索引和合并索引的工作。
相比之下,第一个在每天数据量增加值不是很大变化的情况下,而第二种方法则偏重于数据量增加不能确定的情况下,也就是浮动很大。
第三种方案,数据增加量也是一个浮动的情况下,第三种方案相比第二种方案,用户在建立临时索引和合并索引的时候可能感觉不到。但是都有一个缺陷,也就是如果在这个增加量的范围内进入的数据不能得到索引,所以最终方案还是采用第一种方法比较合适。