本文使用的Elasticsearch版本是2.4.1
離線安裝head插件
到https://github.com/mobz/elasticsearch-head/archive/master.zip
下載head插件
然后到$ES_HOME(elasticsearch的主目錄,下同),執行命令: bin/plugin install file:/home/××/elasticsearch-head.zip ,注:file后面為插件所在的絕對或者相對路徑
重啟elasticsearch,訪問http://localhost:9200/_plugin/head/ 查看插件界面
注:在線安裝head插件方法是:$ES_HOME/bin/plugin install mobz/elasticsearch-head
安裝ik分詞插件
到https://github.com/medcl/elasticsearch-analysis-ik 下載對應的ik版本,
這里我們使用的es是2.4.1,對應的ik插件版本是v1.10.1,如果使用不同的es版本,自行選擇不同的Tag
Download ZIP 下載源碼,使用mvn clean package -Dmaven.test.skip=true進行編譯,編譯成功后,拷貝elasticsearch-analysis-ik-1.10.1.zip到$ES_HOME/plugins/ik里面(沒有ik目錄自行創建)。
用unzip elasticsearch-analysis-ik-1.10.1.zip 解壓,再重啟elasticsearch。
驗證ik分詞效果
http://10.1.109.163:9200/_analyze?text=中華人民共和國MN&tokenizer=ik
或者
http://10.1.109.163:9200/_analyze?text=中華人民共和國MN&analyzer=ik
或者
curl -XGET "http://localhost:9200/your_index/_analyze" -H 'Content-Type: application/json' -d'
{
"text":"中華人民共和國MN","tokenizer": "my_ik"
}'
可以看到以下分詞效果,說明ik分詞正常:
注:可以試著將analyzer改成ik_smart和ik_max_word對比結果的不同
ik_smart 是 IK Analysis 其中一種分詞形式。IK Analysis主要有兩種類型的分詞形式,分別是 ik_max_word 和 ik_smart。
ik_max_word: 會將文本做最細粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國”、“中華人民”、“中華”、“華人”、“人民共和國”、“人民”、“人”、“民”,、“共和國”、“共和”、“和”、“國歌”等,會窮盡各種可能的組合;
ik_smart: 會做最粗粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國”、“國歌”。
ik實戰例子
- 1、創建索引(mapping)
put http://10.1.109.163:9200/iktest2
{
"mappings":{
"post":{
"dynamic":"strict",
"properties":{
"id":{"type":"integer","store":"yes"},
"title":{"type":"string","store":"yes","index":"analyzed","analyzer": "ik_max_word","search_analyzer": "ik_max_word"},
"content":{"type":"string","store":"yes","index":"analyzed","analyzer": "ik_max_word","search_analyzer": "ik_max_word"},
"author":{"type":"string","store":"yes","index":"no"},
"time":{"type":"date","store":"yes","index":"no"}
}
}
}
}
-
2、再put一條數據進去
image.png -
3、模擬查詢,查詢“上海”能正常查詢出來,但是查詢“上”就查詢不到數據
image.png
pinyin分詞插件
到 https://github.com/medcl/elasticsearch-analysis-pinyin 下載對應的pinyin版本,es2.4.1版本對應的pinyin版本是v1.8.1,選擇Tag進行切換,
安裝方法同ik分詞插件,
驗證pinyin分詞,訪問
http://10.1.109.163:9200/_analyze?analyzer=pinyin&text=張學友:
參考:
elasticsearch2.3.3以及其插件離線安裝
bin/plugin install file:/home/××/license-2.3.3.zip
Elasticsearch之中文分詞器插件es-ik(博主推薦)
安裝elasticsearch-analysis-ik中文分詞插件