美文网首页
docker 搭建 Elasticsearch 和 Kibana

docker 搭建 Elasticsearch 和 Kibana

作者: thepoy | 来源:发表于2021-04-24 16:26 被阅读0次

    一、ElasticSearch

    1 pull

    ElasticSearch的 docker 镜像不支持默认的 latest 标签,所以在 Pull 时需要指定标签:

    docker pull elasticsearch:7.12.0
    

    2 创建网络连接

    用来与其他容器服务进行通信,比如 Kibana。

    docker network create es-test
    

    3 创建容器

    docker run -itd --name es --net es-test -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.0
    

    4 修改配置,允许跨域访问

    docker exec -it es bash
    echo -e "http.cors.enabled: true\nhttp.cors.allow-origin: \"*\"" >> config/elasticsearch.yml
    

    5 安装 ik 分词器

    es自带的分词器对中文分词不是很友好,所以我们下载开源的 IK 分词器来解决这个问题。

    下面的命令接上一步:

    cd plugins
    elasticsearch-plugin install https://ghproxy.com/https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip
    

    6 重启 es

    exit
    docker restart es
    

    访问 http://localhost:9200 ,成功的话会得到类似以下响应:

    {
        "name": "0d096b662146",
        "cluster_name": "docker-cluster",
        "cluster_uuid": "KFeS1JjNTlqo56RmN8DiFw",
        "version": {
            "number": "7.12.0",
            "build_flavor": "default",
            "build_type": "docker",
            "build_hash": "78722783c38caa25a70982b5b042074cde5d3b3a",
            "build_date": "2021-03-18T06:17:15.410153305Z",
            "build_snapshot": false,
            "lucene_version": "8.8.0",
            "minimum_wire_compatibility_version": "6.8.0",
            "minimum_index_compatibility_version": "6.0.0-beta1"
        },
        "tagline": "You Know, for Search"
    }
    

    二、Kibana

    1 pull

    拉取对应版本的 Kibana:

    docker pull kibana:7.12.0
    

    2 创建容器

    docker run -itd --name kibana --net es-test -p 5601:5601 kibana:7.12.0
    

    3 修改配置

    需要修改ElasticSearch的连接,因为创建容器时已经映射了端口,所以只需要替换为本机的 ip 地址,以 192.168.31.152 为例:

    docker exec -it kibana bash
    sed -i "s/elasticsearch:9200/192.168.31.152:9200/g" config/kibana.yml
    

    4 重启

    退出 docker 容器的 bash 命令行,除了exit命令外,还可以使用<kbd>ctrl</kbd>+<kbd>D</kbd>退出。

    然后重启容器:

    docker restart kibana
    

    访问 http://localhost:5601 会进入 Kibana 控制台。

    三、测试

    在 Kibana 控制台的 Dev tools 中进行测试,也可以直接在终到用 curl 工具测试。

    1 创建一个索引

    PUT /test
    

    2 测试分词功能

    POST test/_analyze
    {
      "analyzer": "ik_max_word",
      "text": "我昨天去北京出差时逛了逛北京大学"
    }
    

    这里测试时选用的是最大分词ik_max_word,会将一句话或一段话中所有的可能组成的词组或字提取出来,这是搜索引擎中常见的方式。

    你也可以使用智能模式ik_smart,只要能组成词就不会继续向下细分。

    可以切换这两个模式查看不同的结果。

    相关文章

      网友评论

          本文标题:docker 搭建 Elasticsearch 和 Kibana

          本文链接:https://www.haomeiwen.com/subject/ppllrltx.html