想發(fā)布新版的 mmseg4j 到現(xiàn)在已經(jīng)有二個多月了。主要是因為這段時間忙其它事情了。現(xiàn) Lucene 2.9 發(fā)布了,solr 1.4 也應(yīng)該會比較快就要發(fā)布了。對 mmseg4j 兼容新版的 lucene/solr 也是個任務(wù)。
現(xiàn) mmseg4j 發(fā)布新版 1.8,可以下載:mmseg4j-1.8.zip 包括了源碼與詞庫,還有創(chuàng)建文件。下面說下此版的主要變更:
new:
1、有檢測詞典變更的接口,外部程序可以使用 wordsFileIsChange() 和 reload() 來完成檢測與加載的工作. (內(nèi)部不實現(xiàn)自動檢測與加載,留給外部程序去做。)
2、添加 MMseg4jHandler 類,可以在solr中用url的方式來控制加載檢測詞庫。
3、增加 CutLetterDigitFilter過慮器,切分“字母和數(shù)”混在一起的過慮器。比如:mb991ch 切為 "mb 991 ch"。
changes:
1、默認(rèn)在 classpath 中加載 data 目錄(詞庫目錄),找不到再找 user.dir/data 目錄。但是優(yōu)先 mmseg.dic.path 系統(tǒng)屬性指定的。
2、新詞庫,去除 sogou 高頻無詞性的詞,合并 rmmseg 提供的詞(是 mmseg4j 1.0 使用的詞庫),共計(14W 多詞)。
3、數(shù)字或英文開頭的數(shù)字或英文不獨(dú)立分出。如 MB991CH/A 分為 mb991ch a,cq40-519tx 分為 CQ40 519TX
4、內(nèi)置支持小寫,不需要 LowerCaseFilter 了。MMSegAnalyzer 去除了小寫過慮。
5、支持 solr 1.3/1.4、lucene 2.3/2.4/2.9
6、嘗試加載 jar 里的 words.dic,并構(gòu)建含有 words.dic 的 jar(mmseg4j-*-with-dic.jar)。
bugs:
1、Dictionary 添加 finalize 方法。修正 tomcat reload 時 OOM 的 bug: http://code.google.com/p/mmseg4j/issues/detail?id=4
2、MMSegTokenizer 在 lucene 2.4 編譯的 在 lucene 2.9 中會報 java.lang.NoSuchFieldError: input。bug: http://code.google.com/p/mmseg4j/issues/detail?id=5
詳情:http://blog.chenlb.com/2009/10/chinese-segment-mmseg4j-1_8-release.html