1. 程式人生 > >elasticsearch6.2.2安裝中文分詞外掛IK analyzer

elasticsearch6.2.2安裝中文分詞外掛IK analyzer

哎,裝了一下午的ik終於裝上了,發現自己真的是非常笨了,並且es重啟過程中遇到了很多的問題,下面我將手把手教大家如何安裝ik,儘可能細緻些,如果大家哪裡不懂的可以留言或者發email到本人郵箱[email protected],這裡我下載的es 版本為6.2.2,最新版本,你們也可以下載其他5.X版本,後面有一處不同,注意一下。

1. 首先我們需要到git上下載對應的安裝包
2. 進入到我們es的目錄下,soft是我的檔案根目錄
 cd /soft/elasticsearch-6.2.2/plugins

①git克隆到plugins目錄下

 git clone https://github.com/medcl/elasticsearch-analysis-ik

這裡寫圖片描述

② 進行打jar包,每條語句都會有綠色的 BUILD SUCCESS

cd elasticsearch-analysis-ik/
mvn clean
mvn compile
mvn package
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

③在es pluings目錄下新建ik目錄

sudo mkdir ik

④把ik目錄裡target目錄下release中的zip複製到ik資料夾中

sudo mv target/releases/elasticsearch-analysis-ik-6.2.2.zip ../ik
這裡寫圖片描述
這裡寫圖片描述

⑤解壓此壓縮包

sudo unzip elasticsearch-analysis-ik-6.2.2.zip
這裡寫圖片描述


解壓後可以看到ik目錄下有解壓後文件目錄,但是es在load載入ik的時候是直接在ik檔案下尋找config,bootstrap會尋找plugin-descriptor.properties,所以此時需要把elasticsearch這一層目錄裡的東西全部上移一層移動到ik目錄下,一定要注意路徑
sudo cp -r elasticsearch/* ./
這裡寫圖片描述

⑥將plugins中的除ik目錄其餘的刪除掉
這裡寫圖片描述

⑦這裡我的es是最新的6.2.2,所以不需要修改配置,有的5.x之前的據說需要,大家注意一下,如果需要開啟es.yml,在最後一行加上如下內容

vim /etc/elasticsearch/elasticsearch.yml

index.analysis.analyzer.ik.type: "ik" 

注意這裡新增內容的格式,開頭需要加一個空格, 冒號:前可加可不加空格,後必須加空格,如果報錯可以參考一篇同學的blog,是空格導致錯誤的一些常見問題
https://www.cnblogs.com/jiu0821/p/5624908.html

3. 重新啟動elasticsearch即可

有的同學是service elasticsearch restart就可以重啟,我的是到es的bin目錄下./elasticsearch才可以重啟
這裡寫圖片描述

可以看到plugin [analysis-ik] loaded,表示配置成功
4. 下面可以做個簡單的測試
本人使用的es搭配kibana外掛,具體的操作與head相似,不必糾結工具
①建立索引

PUT /index

②建立mapping

POST index/employ/_mapping
{
“properties”: {
“content”: {
“type”: “text”,
“analyzer”: “ik_max_word”,
“search_analyzer”: “ik_max_word”
}
}
}
這裡寫圖片描述

③建立若干文件

POST index/employ/1
{
“content”:”我愛你中國”
}
這裡寫圖片描述

執行一下,successful

這裡寫圖片描述

再新增幾個文件,相同的執行成功

POST index/employ/2
{
“content”:”中國我愛你”
}
POST index/employ/3
{
“content”:”中國你真美”
}

④關鍵字高亮搜尋會看到分詞的中國

GET index/employ/_search
{
“query”: {“match”: {
“content”: “中國”
}}
, “highlight”: {
“pre_tags” : [““, “”],
“post_tags” : [““, “”],
“fields” : {
“content” : {}
}
}
}

這裡寫圖片描述

部分步驟可能還是不很明白,但是大概能給新手一些啟發.