一、安装ElasticSearch
1.1 拉取镜像
安装指定版本:docker pull elasticsearch:7.2.0
1.2 查看镜像
1.3 启动ES
docker run —name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -d elasticsearch:7.2.0
1.4 验证是否运行成功
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc050f6c76a7 elasticsearch:7.2.0 "/usr/local/bin/dock…" 37 seconds ago Up 35 seconds 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch
访问http://localhost:9200
浏览器显示:
{
"name" : "cc050f6c76a7",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "zuxSHE95QiOiN4Urzbhgcg",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
如果是在服务器上安装,想要对外访问还必须打开你服务器的9200端口,然后将localhost换成你服务器的ip地址即可。
1.5 修改配置,解决跨域访问问题
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。
进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
进入对应文件夹,修改elasticsearch.yml
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml
使用vi编辑器在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
修改配置后重启容器即可
docker restart elasticsearch
二、安装Kibana
3.1 拉取镜像
3.2 查看镜像
3.3 启动Kibana
安装完成以后需要启动kibana容器,使用—link连接到elasticsearch容器,命令如下:
docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0
docker start kibana
启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。
3.4 修改kibana.yml,汉化界面
进入kibana容器
docker exec -it kibana /bin/bash
进入 config 文件夹,修改kibana.yml文件
cd config
vi kibana.yml
在文件最后一行添加,i18n.locale: “zh-CN”
重启 kibana
docker restart kibana
重启以后可以打开浏览器输入http://localhost:5601就可以打开中文kibana的界面了。
三、安装IK分词器
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里
3.1 安装
进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
进入plugins目录
cd /usr/share/elasticsearch/plugins/
安装IK分词器,注意版本
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
3.2 测试
3.2.1 不设置IK分词器
GET _analyze
{
"analyzer" : "standard",
"text" : "this is a test"
}
3.2.2 设置IK分词器
GET _analyze
{
"analyzer" : "ik_max_word",
"text" : "今晚打老虎"
}
不添加”analyzer”: “ik_max_word”,则是每个字分词,添加了则按分词器规则分词