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