最近一直在搞lucene和quartz的自動調度。
自己的想法是,
lucene構建index的數據來自數據庫中,建立2個索引,一個是正式的索引,還有一個是臨時索引,臨時索引在每天的凌晨進行索引還有一個合并臨時索引和正式索引的類,也在其建立完成之后進行運行。
或者可以在數據量在原有基礎上增加了多少的時候進行,臨時索引和合并索引,只不過這種方式,首要條件是你的服務器必須強大,因為在建立臨時索引和合并索引的時候會很卡。
還有一種方法是比較浙中一點的,首先考慮數據量增加了多少,當達到這個值的時候再在第二天的凌晨進行臨時索引和合并索引的工作。
相比之下,第一個在每天數據量增加值不是很大變化的情況下,而第二種方法則偏重于數據量增加不能確定的情況下,也就是浮動很大。
第三種方案,數據增加量也是一個浮動的情況下,第三種方案相比第二種方案,用戶在建立臨時索引和合并索引的時候可能感覺不到。但是都有一個缺陷,也就是如果在這個增加量的范圍內進入的數據不能得到索引,所以最終方案還是采用第一種方法比較合適。