進入容器:
docker exec -it es /bin/bash
在plugins目錄下建立ik資料夾:
mkdir /usr/share/elasticsearch/plugins/ik
退出容器:exit
docker cp /orcas/software/elasticsearch-analysis-ik-7.1.0.zip es:/usr/share/elasticsearch/plugins/ik/
重新進入容器
進入ik目錄:
cd /usr/share/elasticsearch/plugins/ik
解壓:
unzip elasticsearch-analysis-ik-7.1.0.zip
rm -rf elasticsearch-analysis-ik-7.1.0.zip
重啟容器:
建議熱更新自定義的ik分詞,github中描述如下:
key=
"remote_ext_dict"
>
locationentry
>
key=
"remote_ext_stopwords"
>
locationentry
>
location 是指乙個 url,比如
,該請求只需滿足以下兩點即可完成分詞熱更新。
該 http 請求需要返回兩個頭部(header),乙個是 last-modified,乙個是 etag,這兩者都是字串型別,只要有乙個發生變化,該外掛程式就會去抓取新的分詞進而更新詞庫。
該 http 請求返回的內容格式是一行乙個分詞,換行符用 \n 即可。
滿足上面兩點要求就可以實現熱更新分詞了,不需要重啟 es 例項。
可以將需自動更新的熱詞放在乙個 utf-8 編碼的 .txt 檔案裡,放在 nginx 或其他簡易 http server 下,當 .txt 檔案修改時,http server 會在客戶端請求該檔案時自動返回相應的 last-modified 和 etag。可以另外做乙個工具來從業務系統提取相關詞彙,並更新這個 .txt 檔案。
非docker安裝方法:
elasticsearch筆記(二)—— kibana與ik分詞器的安裝
elasticsearch 安裝 ik中文分詞器
wgetzip包裡面的檔案結構如下 備註 mvn package打包完成後在 target releases 目錄下就能夠看到相同的檔案結構了 config資料夾裡面的內容是分詞器分詞時讀取檔案的主要目錄,大概說說裡面的各檔案內容 ikanalyzer.cfg.xml 用來配置自定義詞庫 main....
Elasticsearch整合IK中文分詞器
因為我安裝的 elasticsearch 是5.6.9版本,所以對應安裝 elasticsearch analysis ik 5.6.9 版本 bin elasticsearch plugin install cp mnt hgfs elasticsearch analysis ik 5.6.9 e...
elasticsearch配置IK中文分詞器
未使用ik分詞器的時候測試分詞效果 結果如下 使用ik分詞器之後,結果如下 結果如下 如果未安裝ik分詞器,那麼你寫 analyzer ik max word 程式就會報錯,因為你沒有安裝ik分詞器 如果你安裝了ik分詞器之後,你不指定分詞器,不加上 analyzer ik max word 這句話...