IKAnalyzer如何自定義遠端詞庫

2021-09-02 13:08:34 字數 567 閱讀 9721

ikanalyzer1.3.4要自定義我們自己的詞庫,而且我們可以隨時新增分詞,網上查了一圈沒有相關資料,看來只有自己搞定了。這裡大家需要熟悉http協議中的last-modified、etags這些概念,這樣能更容易理解ikanalyzer作者的設計思路。

觀察了下ikanalyzer分詞器的配置檔案ikanalyzer.cfg.xml發現其中有這樣乙個選項:

,而且作者做了注釋說這個就是擴充套件遠端詞典的。於是開啟ikanalyzer的原始碼檢視,最後在dictronary這類下找到這個方法:getremotewords。經過檢視發現其實用的是httpclient去獲取分詞。於是我就用springmvc寫了個controller來解決。這裡要注意:每個分詞之間要使用換行符即「\r\n」來分割,貌似問題圓滿解決,

可是,我發現ikanalyzer的這個獲取分詞的動作只是在啟動的時候去訪問我寫的controller。很顯然這是不行的,這就違背了我隨時新增分詞的願望了,看來我要擴充套件這個分詞器了。於是我開始從頭翻這個開源分詞器的原始碼,我在dictronary最後找到以下的**,頓時讓我眼前一亮:

這裡還可以再優化,這是後話了,有了這個思路其餘的都是錦上添花。

IKAnalyzer如何自定義遠端詞庫

ikanalyzer1.3.4要自定義我們自己的詞庫,而且我們可以隨時新增分詞,網上查了一圈沒有相關資料,看來只有自己搞定了。這裡大家需要熟悉http協議中的last modified etags這些概念,這樣能更容易理解ikanalyzer作者的設計思路。觀察了下ikanalyzer分詞器的配置檔...

IKAnalyzer 自定義分詞器

lucene 全文搜尋框架,具體的定義在這裡就不過多的介紹。那麼主要講一下,利用第三方分詞器自定義我們的分成規則,ikanalyzer 庖丁分詞器就是乙個很好的中文分詞器。首先匯入對應的jar包,我們都很清楚,配置檔案是一種有效擴充套件的一種方式,那麼ikanalyzer也不例外。1.首先建立乙個專...

八 使用IKAnalyzer自定義分詞字典

這裡我使用的是ik analyzer 2012ff hf1.zip 這個包 因為我用的是solr4.x的 解壓 檔案拷貝 解壓之後講ikanalyzer的jar包拷貝到 solr home的lib目錄下 將ikanalyzer.conf.xml和stopword.dic放到classes目錄下,我這...