專案中用到了lucene構建索引,但是公司有自己的分詞器,為了保持跟其它模組的一致性,必須將分詞器整合進lucene中,其實網上這樣的例子會比較多,不過很多都是不完整的,自己在這裡貼出來個完整的,思想比較簡單,基本就是按照自己的分詞器分完詞之後按照空格分隔,然後利用lucene的whitespacetokenizer來重新進行分隔。
**如下:
其中preprocess是分詞服務的客戶端,我們將分詞利用thrift封裝成了一種服務,基於此服務可以實現比較定製化的功能,在函式tokenize中可以自定義一些規則比如停用詞等。
自定義分詞器Analyzer
參考 analyzer,或者說文字分析的過程,實質上是將輸入文字轉化為文字特徵向量的過程。這裡所說的文字特徵,可以是詞或者是短語。它主要包括以下四個步驟 1 分詞,將文字解析為單詞或短語 2 歸一化,將文字轉化為小寫 3 停用詞處理,去除一些常用的 無意義的詞 4 提取詞幹,解決單複數 時態語態等問...
IKAnalyzer 自定義分詞器
lucene 全文搜尋框架,具體的定義在這裡就不過多的介紹。那麼主要講一下,利用第三方分詞器自定義我們的分成規則,ikanalyzer 庖丁分詞器就是乙個很好的中文分詞器。首先匯入對應的jar包,我們都很清楚,配置檔案是一種有效擴充套件的一種方式,那麼ikanalyzer也不例外。1.首先建立乙個專...
lucene學習二 lucene分詞器
分詞器的作用 在建立索引時會用到分詞器,在使用字串搜尋時也會用到分詞器,這兩個地方要使用同乙個分詞器,否則可能會搜尋不出結果。analyzer 分詞器 的作用是把一段文字中的詞按規則取出所包含的所有詞。對應的是analyzer類,這是乙個抽象類,切分詞的具體規則是由子類實現的,所以對於不同的語言 規...