ELK--Elasticsearch 安裝 ik分詞器 插件
分詞
把一段文字的劃分成一個個的關鍵字,我們在搜索時候會把自己的信息進行分詞,會把數據庫中或者索引庫中的數據進行分詞,然後進行一個匹配操作。
默認的中文分詞是將每個字看成一個詞,這顯然是不符合要求的,所以我們需要安裝中文分詞器ik來解決這個問題。
Elasticsearch內置分詞器
Standard - 默認分詞器,按詞切分,小寫處理
Simple - 按照非字母切分(符號被過濾), 小寫處理
Stop - 小寫處理,停用詞過濾(the,a,is)
Whitespace - 按照空格切分,不轉小寫
Keyword - 不分詞,直接將輸入當作輸出
Patter - 正則表達式,默認\W+(非字符分割)
Language - 提供了30多種常見語言的分詞器
Customer Analyzer 自定義分詞器
ik分詞器
IK有兩種顆粒度的拆分:
ik_smart
: 會做最粗粒度的拆分ik_max_word
: 會將文本做最細粒度的拆分
一、下載ik分詞器
IK分詞器的版本要你安裝ES的版本一致
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.1/elasticsearch-analysis-ik-6.4.1.zip
二、解壓並將文件複製到 es的安裝目錄/plugin/ik中
tar -xvf elasticsearch-analysis-ik-6.4.1.zip
文件結構
三、重啓ElasticSearch
四、測試效果
如果不符合預期,ik分詞器支持自定義詞庫,例如我這裏[諸葛小明]是一個人名,我可以自定義詞庫。
(1)在原有詞庫上改造,修改默認詞庫文件main.doc
(3)新詞庫文件:新增詞庫文件my.dic,往文件添加自己的分詞,注意分行。然後修改ik/config目錄下的IKAnalyzer.cfg.xml文件,改成自己的詞庫文件。
<properties>
<comment>IK Analyzer 擴展配置</comment>
<!‐‐用戶可以在這裏配置自己的擴展字典 ‐‐>
<entry key="ext_dict">my.dic</entry>
<!‐‐用戶可以在這裏配置自己的擴展停止詞字典‐‐>
<entry key="ext_stopwords"></entry>
</properties>
改好之後重啓es即可生效。
修改之後效果: