# Elastic 中文分詞安裝 安裝 IKAnalyzer --- ## 一、安裝步驟 如果是使用官方ELK Docker yml 安裝的話,會有三個 cluster,這裡示範在es01安裝中文分詞 1. 進入 elasticsearch bash ```bash= docker exec -it ex01 bash ``` 2. 在 Elasticsearch bash 中,下載並安裝 IKAnalyzer > IKAnalyzer 與Elasticsearch 有版本對應的問題,需要注意目前所安裝的Elastic版本是多少 > [IKAnalyzer](https://github.com/medcl/elasticsearch-analysis-ik/) ```bash= ./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 ```bash= vi config/analysis-ik/IKAnalyzer.cfg.xml ``` :::warning 如果檔案是亂碼,在vi中輸入`:set encoding=utf-8` ::: 4. 編輯 IKAnalyzer.cfg.xml ```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 資料夾下 ```bash cd config/analysis-ik ``` * 新增custom 資料夾 ```bash= mkdir custom ``` * 下載字典檔 ```bash= wget https://raw.githubusercontent.com/samejack/sc-dictionary/master/main.txt -O custom/custom.dic ``` * 重開Elasticsearch :::warning 如果出現 > bash: wget: command not found 先執行 `yum -y install wget` ::: ## 二、測試分詞功能 1.到 kibana 的 Dev Tools 2.輸入以下內容至工作區 ```json= GET /_analyze { "text": "鬼滅之刃", "analyzer": "ik_smart" } ``` 3.若安裝成功,執行上面的指令後應該要回傳 ```json= { "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 } ] } ```