關(guān)于用lucene做網(wǎng)站后臺搜索的一點(diǎn)點(diǎn)設(shè)想
最近一直在搞lucene和quartz的自動調(diào)度。自己的想法是,
lucene構(gòu)建index的數(shù)據(jù)來自數(shù)據(jù)庫中,建立2個索引,一個是正式的索引,還有一個是臨時索引,臨時索引在每天的凌晨進(jìn)行索引還有一個合并臨時索引和正式索引的類,也在其建立完成之后進(jìn)行運(yùn)行。
或者可以在數(shù)據(jù)量在原有基礎(chǔ)上增加了多少的時候進(jìn)行,臨時索引和合并索引,只不過這種方式,首要條件是你的服務(wù)器必須強(qiáng)大,因為在建立臨時索引和合并索引的時候會很卡。
還有一種方法是比較浙中一點(diǎn)的,首先考慮數(shù)據(jù)量增加了多少,當(dāng)達(dá)到這個值的時候再在第二天的凌晨進(jìn)行臨時索引和合并索引的工作。
相比之下,第一個在每天數(shù)據(jù)量增加值不是很大變化的情況下,而第二種方法則偏重于數(shù)據(jù)量增加不能確定的情況下,也就是浮動很大。
第三種方案,數(shù)據(jù)增加量也是一個浮動的情況下,第三種方案相比第二種方案,用戶在建立臨時索引和合并索引的時候可能感覺不到。但是都有一個缺陷,也就是如果在這個增加量的范圍內(nèi)進(jìn)入的數(shù)據(jù)不能得到索引,所以最終方案還是采用第一種方法比較合適。
posted on 2009-03-15 13:34 duduli 閱讀(337) 評論(0) 編輯 收藏 所屬分類: java