ELK--Elasticsearch 安裝 ik分詞器 插件

                             ELK--Elasticsearch 安裝 ik分詞器 插件

分詞

把一段文字的劃分成一個個的關鍵字,我們在搜索時候會把自己的信息進行分詞,會把數據庫中或者索引庫中的數據進行分詞,然後進行一個匹配操作。
默認的中文分詞是將每個字看成一個詞,這顯然是不符合要求的,所以我們需要安裝中文分詞器ik來解決這個問題。

Elasticsearch內置分詞器

  • Standard - 默認分詞器,按詞切分,小寫處理

  • Simple - 按照非字母切分(符號被過濾), 小寫處理

  • Stop - 小寫處理,停用詞過濾(the,a,is)

  • Whitespace - 按照空格切分,不轉小寫

  • Keyword - 不分詞,直接將輸入當作輸出

  • Patter - 正則表達式,默認\W+(非字符分割)

  • Language - 提供了30多種常見語言的分詞器

  • Customer Analyzer 自定義分詞器

ik分詞器

IK有兩種顆粒度的拆分:

  1. ik_smart: 會做最粗粒度的拆分
  2. 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即可生效。

修改之後效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章