docker安装elasticsearch使用IK分词插件

简述

学习es,在学生云上部署一个ElasticSearch,实现课设的站内搜索。

Docker安装ElasticSearch

下载ElasticSearch镜像

查找镜像

  1. 使用docker指令,查询es镜像

    docker search elasticsearch
    

    docker安装elasticsearch使用IK分词插件_第1张图片

  2. Docker Hub

    在官网搜索自己需要的版本

    docker安装elasticsearch使用IK分词插件_第2张图片

下载镜像

docker pull elasticsearch:7.10.1

docker安装elasticsearch使用IK分词插件_第3张图片

查看镜像

docker images

docker安装elasticsearch使用IK分词插件_第4张图片

创建并运行ElasticSearch容器

运行容器

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.10.1

监测容器是否启动docker ps

image-20210105110033785

在浏览器中打开http://localhost:9200这个网址,如果你是在服务器上安装,想要对外访问还必须打开你服务器的9200端口,然后将localhost换成你服务器的ip地址即可。如果能看到以下信息则说明我们的es是已经安装好了的。

docker安装elasticsearch使用IK分词插件_第5张图片

配置ElasticSearch

配置ElasticSearch,使其可以跨域访问。

  1. 进入容器docker exec -it elasticsearch /bin/bash这里elasticsearch是我的容器名,也可以使用容器ID

  2. 进入config文件夹cd /usr/share/elasticsearch/config/

  3. 打开 elasticsearch.yml 文件 vi elasticsearch.yml

  4. 在elasticsearch.yml的文件末尾加上:

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
  5. 保存并退出

    1. Esc
    2. 类型:wq
    3. Enter
  6. 退出容器exit

  7. 重启容器docker restart elasticsearch这里elasticsearch是我的容器名,也可以使用容器ID

安装IK分词插件

下载插件

  1. 进入容器(指令见上文)

  2. 进入插件文件夹cd /usr/share/elasticsearch/plugins/

  3. 创建文件夹mkdir ik

  4. 下载IK分词插件

    1. 方法一:

      elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

    2. 方法二:

      1. 点击这里找到和你安装的es符合的IK安装包,下载下来

      docker安装elasticsearch使用IK分词插件_第6张图片

      2. 将压缩包拷贝到云服务器(我使用的是xftp)
         3. 将压缩包拷贝到elasticsearch容器/usr/share/elasticsearch/plugins/ik/文件夹下 docker cp ik elasticsearch:/usr/share/elasticsearch/plugins/ik(这里ik是我把压缩包重命名为ik)
         4. 解压并删除压缩包

测试IK分词

  1. 增加索引

    在控制台输入:

    curl -X PUT http://localhost:9200/test

  2. 测试ik_smart分词

    curl -X POST \
    'http://127.0.0.1:9200/test/_analyze?pretty=true' \
    -H 'Content-Type: application/json' \
    -d '{"text":"我们是中国人","tokenizer":"ik_smart"}'
    

    docker安装elasticsearch使用IK分词插件_第7张图片

  3. 测试ik_max_word分词

    curl -X POST \
    'http://127.0.0.1:9200/test/_analyze?pretty=true' \
    -H 'Content-Type: application/json' \
    -d '{"text":"我们是中国人","tokenizer":"ik_max_word"}'
    

    docker安装elasticsearch使用IK分词插件_第8张图片

参考

  1. 《Elasticsearch —— docker部署+ik分词器》

  2. 《docker安装ElasticSearch》

你可能感兴趣的:(学习,elasticsearch)