我最近已經注意到Lucene StandardAnalyzer的行爲自3.1版本以來有所變化。具體來說,3.0和以前的版本將電子郵件,IP地址,公司名稱等視爲單獨的詞彙類型,而更高版本不會。Lucene StandardAnalyzer 3.5 TypeAttribute
例如,對於輸入的文本: 「[email protected] 127.0.0.1ħ&中號」 時,3.0分析器將認識以下幾種類型:
1:[email protected]:0- > 16:< EMAIL>
2:127.0.0.1:17-> 26:< HOST>
3:H &米:27-> 30:< COMPANY>
然而,版本3.1和更高版本給對於相同的輸入文本的輸出如下:
1:例如:0-> 7:< ALPHANUM>
2:郵件.COM:8-> 16:< ALPHANUM>
3:127.0.0.1:17-> 26:< NUM>
我的問題是,我如何使用較新版本的Lucene庫實現舊的StandardAnalyzer行爲?是否有一些標準的TokenFilter可以幫助我實現這一點,還是我需要實現自定義過濾器?