考虑到版本不能过低/过高,且需要搭配使用,所以采用 7.7.0 版本,若采用别的版本应注意各处版本号细节。
相关官方链接:
es 7.7 文档
docker 部署 es 7.7 文档
docker 部署 kibana 7.7 文档
elasticsearch jieba
elasticsearch_ik
自说自话好像 es 和 kibana 都可以设置账户,后面可以考虑,本篇目前未提及。 es
第一步当然需要先安装 es,“两次”创建才能成功。以下步骤都要做,且顺序不能错:
# 获取镜像 docker pull elasticsearch:7.7.0
长长的准备工作,必须从 docker 中 cp 出来然后再修改权限。因为 9200 被占用了,所以我用的 9201 端口,在 77 服务器上,就应该是 192.168.14.77:9201,这个一会儿配置 kibana 需要用(因为 kibana 默认链接到 es 默认的 9200。
# 初创容器 名为 eslxd 暂无挂载 docker run -it --name eslxd -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -p 9201:9200 -p 9301:9300 elasticsearch:7.7.0 # 本地建立 elasticsearch 从容器中拷贝出来对应文件夹 mkdir elasticsearch docker cp eslxd:/usr/share/elasticsearch/config /data/lvxiaodan/elasticsearch/config docker cp eslxd:/usr/share/elasticsearch/data/ /data/lvxiaodan/elasticsearch/data docker cp eslxd:/usr/share/elasticsearch/plugins/ /data/lvxiaodan/elasticsearch/plugins # 停止并删掉刚刚的容器 eslxd docker stop eslxd docker rm eslxd # 修改本地 elasticsearch 为最高权限 sudo chmod 777 -R elasticsearch
真正的创建容器和挂载
# 再创容器 名为 eslxd 挂载 3 个文件 分别为 config data 和 plugins docker run -it --name eslxd -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -p 9201:9200 -p 9301:9300 -v /data/lvxiaodan/elasticsearch/config:/usr/share/elasticsearch/config -v /data/lvxiaodan/elasticsearch/data:/usr/share/elasticsearch/data -v /data/lvxiaodan/elasticsearch/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.7.0
访问 192.168.14.77:9201 成功 kibana
docker 挂载方面类似 es,不再赘述。
docker pull kibana:7.7.0 docker run -d --name kbnlxd -p 5611:5601 kibana:7.7.0 mkdir kibana docker cp kbnlxd:/usr/share/kibana/config/ /data/lvxiaodan/kibana/ docker stop kbnlxd docker rm kbnlxd sudo chmod 777 -R kibana
配置 kibana 连接到 9201,kibana 我用的 5611 端口。
cd /data/lvxiaodan/kibana/config/ vim kibana.yml # 修改 host 为前面 es 的端口为 http://192.168.14.77:9201 docker run -d --name kbnlxd -p 5611:5601 -v /data/lvxiaodan/kibana/config:/usr/share/kibana/config kibana:7.7.0
kibana 启动可能需要数十秒,若成功访问 192.168.14.77:5611 即可。 分词器(ik)
未设置分词器之前效果
POST _analyze
{
"analyzer": "standard",
"text": "共和国"
}
{
"tokens" : [
{
"token" : "共",
"start_offset" : 0,
"end_offset" : 1,
"type" : "",
"position" : 0
},
{
"token" : "和",
"start_offset" : 1,
"end_offset" : 2,
"type" : "",
"position" : 1
},
{
"token" : "国",
"start_offset" : 2,
"end_offset" : 3,
"type" : "",
"position" : 2
}
]
}
下载对应版本的 ik 分词器并对应放置
打开ik7.7.0链接下载 [elasticsearch-analysis-ik-7.7.0.zip]并解压,将解压后的文件夹放在 elasticsearch 的 plugins 下。
成功之后重启 es
POST _analyze
{
"analyzer": "ik_smart",
"text": "共和国"
}
{
"tokens" : [
{
"token" : "共和国",
"start_offset" : 0,
"end_offset" : 3,
"type" : "CN_WORD",
"position" : 0
}
]
}



