天天看點

Lucene 4.8.0 釋出了,變化一如既往的大,新特性一一解讀

lucene 4.8.0 釋出了,變化一如既往的大,新特性一一解讀

Lucene 4.8.0 釋出了,變化一如既往的大,新特性一一解讀

    10年之前,; 10年之後,你是4.8 。放在10年這個時間跨度上看,也許變化就沒那麼大了。

    看看這次釋出有哪些變化吧:

    1、apache lucene 現在要求java的最低版本為:java 7 , update 55 ;推薦使用 oracle java 7 或 openjdk 7 ,之前版本的jvm bug 會影響到lucene。

    2、apache lucene全面相容 java 8。

    3、所有的索引檔案開始存儲checksums,在索引合并和讀取的時候進行有效性檢查。減少出現某個索引檔案(實體)損壞帶來的問題,主要是針對硬體或者jvm bug 引起的索引損壞。

    4、提供了針對第一次搜尋結果集合的重打分(權重調整)api;相當于對搜尋結果的二次自定義排序。

    5、analyzinginfixsuggester 類提供了支援nrt的自動建議功能。

    6、把基于批量處理的打分過程 bulk scoring 和基于疊代的打分過程分離了,這對于批量打分的過程更高效一些。

    7、在建立索引的時候針對hash term 使用了 murmurhash3 的hash方法,很高效的方法。

    8、 indexwriter現在支援更新二進制類型的字段了。

    9、優化了 hunspellstemfilter  占用記憶體的大小(10至100倍的減少)

          hunspell 是一種檢查拼寫spellcheck流行的方法, openoffice中就用了它來進行拼寫檢查。

          hunspellstemfilter  是tokenfilter的擴充,可以用這個算法來過濾詞的不同變形(時态,語氣等)。

          中文的token應該享受不到這個特性。

     10、lucene現在使用java 7中的檔案系統函數,比如即使在索引打開的時候,也可以删除索引檔案。

     11、修複了nativefslockfactory 中的一個嚴重的bug :允許多個indexwriter獲得一個lock。

             是以強烈建議更新到 lucene 4.8 。

    參考:

            1、

http://lucene.apache.org/core/4_8_0/changes/changes.html#v4.8.0.new_features

2、

             3、歡迎訂閱作者