前面已經對”IK中文分詞器“有了簡單的了解:
但是可以發現不是對所有的詞都能很好的區分,比如:
逼格
這個詞就沒有分出來。
詞庫
實際上IK分詞器
也是根據一些詞庫來進行分詞的,我們可以豐富這個詞庫。 IK分詞器(IK Analysis for Elasticsearch)
給了我們一個基本的配置:
https://github.com/medcl/elasticsearch-analysis-ik
修改我們es實例中ik插件的配置:
cd elasticsearch-5.3.0/plugins/ik/config/
main.dic
是住詞庫,stopword
是停用詞庫(把一些錯誤的分詞加入進來,之后不會再被分詞了);custom
目錄中是我們的自定義詞庫。
這些詞庫都是本地詞庫。可以參考配置文檔來設置。
熱更新 IK 分詞使用方法
官方文檔:
https://github.com/medcl/elasticsearch-analysis-ik
我們來配置一下:
#進入es實例找到ik插件的配置文件 elasticsearch-5.3.0/plugins/ik/config #編輯配置文件 vi IKAnalyzer.cfg.xml
內容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 擴展配置</comment> <!--用戶可以在這里配置自己的擴展字典 --> <entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry> <!--用戶可以在這里配置自己的擴展停止詞字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用戶可以在這里配置遠程擴展字典 --> <entry key="remote_ext_dict">http://10.211.55.13/api/DictApi/GetDictionary</entry> <!--用戶可以在這里配置遠程擴展停止詞字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
/api/DictApi/GetDictionary:
