ElasticSearch IK 分詞器快速上手
一、安裝 IK 分詞器
1.分配偽終端
我的 ElasticSearch 是使用 Docker 安裝的,所以先給容器分配一個(gè)偽終端.之后就可以像登錄服務(wù)器一樣直接操作docker 中的內(nèi)容了
docker exec -it 容器ID /bin/bash
2.使用 elasticsearch-plugin 安裝插件
cd plugins進(jìn)入到 plugins 文件夾
執(zhí)行如下命令,7.12.0 需要修改成你的 es 版本號(hào)
../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip
3.重啟 elasticsearch 容器
docker restart 容器ID
4.常見(jiàn)問(wèn)題
(1)java.lang.IllegalStateException
執(zhí)行elasticsearch-plugin install的時(shí)候,出現(xiàn)了 Failed installing和java.lang.IllegalStateException
查看了一下,我的 plugins/ 目錄下已經(jīng)有一個(gè)名為 ik 的文件夾了.
抱著試試的心態(tài),刪掉了這個(gè)名為 ik 的文件夾,重新執(zhí)行
../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip
安裝成功
二、ik 分詞原理
(占位,等有時(shí)間讀源碼再來(lái)補(bǔ)充)
三、ik_smart 和 ik_max_word
GET _analyze?pretty{ "analyzer": "ik_smart", "text": "不像我,只會(huì)心疼鴿鴿"}
GET _analyze?pretty{ "analyzer": "ik_max_word", "text": "不像我,只會(huì)心疼鴿鴿"}
結(jié)論
_analyzer構(gòu)建索引時(shí)候的分詞,索引的時(shí)候使用 max_word
search_analyzer搜索時(shí)的分詞,查詢(xún)的時(shí)候使用 smart































