這里是在虛擬機的Linux系統里安裝es的教程:
1.創建網絡
在Finashell終端輸入指令
docker network create es-net
2.將es.tar安裝包放入tmp的目錄下
輸入指令加載鏡像:docker load -i es.tar
3.再運行docker 命令
docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.12.1
命令成功后輸入:docker ps 可以看到容器已經運行起來了
4.在主機通過映射地址可以訪問到:這里是你虛擬機地址:9200
192.168.221.131:9200
這里是在虛擬機的Linux系統里安裝kibana:
1.將kibana安裝包放入tmp目錄下
2.docker load -i kibana.tart 通過這個指令加載鏡像
3.運行容器
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
運行成功后在主機的映射地址可以訪問提供的圖形化界面:
在這個圖形化界面里可以編寫dsl語句發送給es。
非常的好用
分詞器:
練習:可以看出來默認的standard分詞效果并不是很好
POST /_analyze
{"analyzer": "standard","text": "黑馬程序員學習java太棒了"
}
IK分詞器:
這個分詞器真好用
IK分詞器包含兩種模式:
-
ik_smart
:最少切分 -
ik_max_word
:最細切分
ik_smart模式測試:
ik_max_smart測試
:感覺還是有少許缺陷?
IK分詞器安裝:
1.在線安裝:
# 進入容器內部
docker exec -it elasticsearch /bin/bash# 在線下載并安裝
./bin/elasticsearch-plugin ?install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip#退出
exit
#重啟容器
docker restart elasticsearch
2.離線安裝:
前提:前邊加載elasticsearch鏡像時候設置了數據卷掛載,有ik的安裝包(我有安裝包需要的可以私信我拿)。
1.輸入命令查看掛載的數據卷路徑:
docker volume inspect es-plugins
2.進入路徑后把ik安裝包拖進去:
3.重啟容器:
docker restart es
IK分詞器自定義詞典:
1.在哪里配置:
在ik文件config目錄里邊的xml文件。
在這里更改配置:
停用字典
擴展詞字典
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 擴展配置</comment><!--用戶可以在這里配置自己的擴展字典 --># 這里的ext.dic是文件名名字 可以在該文件同目錄的地方創建添加 這里可以自定義<entry key="ext_dict">ext.dic</entry><!--用戶可以在這里配置自己的擴展停止詞字典--><entry key="ext_stopwords">stopword.dic</entry><!--用戶可以在這里配置遠程擴展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用戶可以在這里配置遠程擴展停止詞字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
這里邊的所有dic后綴的文件都是詞典,可以自己創建并且config配置,可以點開看一下里邊的配置格式,這個還是挺簡單的。
這是我新創的dic 并且在配置文件里邊指定了
2.測試:
這里看測試結果發現傳智播客和李不存已經可以分詞分出來了,非常的好用!