Try   HackMD

Elastic 中文分詞安裝

安裝 IKAnalyzer


一、安裝步驟

如果是使用官方ELK Docker yml 安裝的話,會有三個 cluster,這裡示範在es01安裝中文分詞

  1. 進入 elasticsearch bash

    ​​​​docker exec -it ex01 bash
  2. 在 Elasticsearch bash 中,下載並安裝 IKAnalyzer

    IKAnalyzer 與Elasticsearch 有版本對應的問題,需要注意目前所安裝的Elastic版本是多少
    IKAnalyzer

    ​​​​./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip
  3. 進入IKAnalyzer.cfg.xml

    ​​​​vi config/analysis-ik/IKAnalyzer.cfg.xml

    如果檔案是亂碼,在vi中輸入:set encoding=utf-8

  4. 編輯 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/custom.dic</entry> ​​​​ <!--用户可以在这里配置自己的扩展停止词字典--> ​​​​ <entry key="ext_stopwords"></entry> ​​​​ <!--用户可以在这里配置远程扩展字典 --> ​​​​ <entry key="remote_ext_dict"></entry> ​​​​ <!--用户可以在这里配置远程扩展停止词字典--> ​​​​ <!-- <entry key="remote_ext_stopwords">words_location</entry> --> ​​​​</properties>
  5. 添加字典檔

    • 到analysis-ik 資料夾下
    ​​​​cd config/analysis-ik
    
    • 新增custom 資料夾
    ​​​​mkdir custom
    • 下載字典檔
    ​​​​wget https://raw.githubusercontent.com/samejack/sc-dictionary/master/main.txt -O custom/custom.dic
    • 重開Elasticsearch

如果出現 > bash: wget: command not found
先執行 yum -y install wget

二、測試分詞功能

1.到 kibana 的 Dev Tools

2.輸入以下內容至工作區

GET /_analyze { "text": "鬼滅之刃", "analyzer": "ik_smart" }

3.若安裝成功,執行上面的指令後應該要回傳

{ "tokens" : [ { "token" : "鬼", "start_offset" : 0, "end_offset" : 1, "type" : "CN_CHAR", "position" : 0 }, { "token" : "滅", "start_offset" : 1, "end_offset" : 2, "type" : "CN_CHAR", "position" : 1 }, { "token" : "之刃", "start_offset" : 2, "end_offset" : 4, "type" : "CN_WORD", "position" : 2 } ] }