Lucene 2.4 10月8號就出來了,到現(xiàn)在才注意到。主要變化:
一、改變了向后兼容性(1)
LUCENE-1340: Lucene的向后兼容性有一個細(xì)小的變化,因為內(nèi)部原因,現(xiàn)在允許接口“Fieldable”發(fā)生改變(注:編程中成熟的產(chǎn)品一般不改變接口),假如一個程序?qū)崿F(xiàn)了自己的Fieldable,那么就要注意這點,否則沒必要擔(dān)心。這個改變將在2.4版開始后延續(xù)到以后所有的2.x版本中。另外,F(xiàn)ieldable 有很大肯能性在 3.0中被更改。
二、運行時行為變化(4)
1、 LUCENE-1151:修正了StandardAnalyzer 分詞器不識別主機(jī)名(域名,如eg lucene.apache.org)和縮寫。要使用以前的StandardAnalyzer ,可以調(diào)用StandardAnalyzer.setDefaultReplaceInvalidAcronym(false) (靜態(tài)方法),或者設(shè)置系統(tǒng)屬性,在JVM啟動的時候,設(shè)置org.apache.lucene.analysis.standard.StandardAnalyzer.replaceInvalidAcronym為false.那么StandardAnalyzer 實例將像2.4版以前一樣工作。另外,可以調(diào)用setReplaceInvalidAcronym(false)方法改變StandardAnalyzer的行為。這個向后兼容將在3.0版被刪除(硬編碼值為true)。
2、
LUCENE-1044: IndexWriter 以前的autoCommit=true 現(xiàn)在要編碼調(diào)用。以前,一個flush方法調(diào)用也伴隨一次commit操作。現(xiàn)在可以調(diào)用IndexWriter.commit方法來實現(xiàn)commit操作。此外,到3.0版,autoCommit將被硬編碼為false(IndexWriter 帶autoCommit參數(shù)已經(jīng)過時了)。
3、
LUCENE-1335: IndexWriter.addIndexes(Directory[])和addIndexesNoOptimize 方法不再允許在同一個Directory 使用一次以上。內(nèi)部,IndexWriter使用Directory 和segment 名稱去識別唯一的segments,所以增加同一個目錄多次會引發(fā)問題。
4、
LUCENE-1396: 引入了PhraseQuery.toString() ,在各個位置上的分隔符,用a ?和復(fù)雜terms,在相同的地方,將引入a |.
另外API有26處發(fā)生了變化,修復(fù)了16個bug,加入了20個新功能,6個優(yōu)化,修改了3個文件。
API和新功能以及優(yōu)化可能會帶來開發(fā)上的一些變化。
變化描述源地址:http://lucene.apache.org/java/2_4_0/changes/Changes.html#2.4.0.optimizations
另外下載的時候居然是校內(nèi)網(wǎng),看來校內(nèi)去推廣去了,呵呵。