一、安装ElasticSearch

1.1 拉取镜像

安装指定版本:docker pull elasticsearch:7.2.0
image.png

1.2 查看镜像

docker images
image.png

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

  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. 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 拉取镜像

docker pull kibana:7.2.0

3.2 查看镜像

docker images

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”
image.png
重启 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 测试

进入Kibana界面,点击DevTools(开发工具)
image.png

3.2.1 不设置IK分词器

GET _analyze
{
  "analyzer" : "standard",
  "text" : "this is a test"
}

效果
image.png

3.2.2 设置IK分词器

GET _analyze
{
  "analyzer" : "ik_max_word",
  "text" : "今晚打老虎"
}

image.png
不添加”analyzer”: “ik_max_word”,则是每个字分词,添加了则按分词器规则分词