Docker安装部署Elasticsearch+Kibana+IK分词器

这篇具有很好参考价值的文章主要介绍了Docker安装部署Elasticsearch+Kibana+IK分词器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker安装部署elasticsearch

目前elastic官网推荐使用的两个版本分别是:

  • 8.10.2
  • 7.17.13

我尝试安装8.x版本的,不过似乎由于虚拟机内存大小的原因集群状态总是转为RED无法重置elastic账户的密码,因此我最终选择使用7.x版本的elasticsearch,8.x版本的默认使用https来保证数据的安全性,感兴趣的同学可以自行尝试。

由于IK分词器对于7.x版本最高只有7.17.6版本与之对应,所以下载7.17.6版本的elasticsearch

拉取镜像

docker pull elasticsearch:7.17.6

创建数据卷

一般来说,我们不希望在elasticsearch容器停止时丢失elasticsearch中的文件,因此我们创建一个数据卷来关联elasticsearch的data文件夹。在elasticsearch的使用中我们可能会安装各种插件,因此创建了另一个数据卷来关联elasticsearch的plugins文件夹

docker volume create es-data
docker volume create es-plugins

创建网络

一般来说,我们在使用elasticsearch的时候会结合kibana一起使用,为了他们能够正常关联,我们创建一个网络来连接他们

docker net create es-net

elasticsearch容器,启动!

ES_JAVA_OPTS是在设置堆大小,我修改这个环境变量主要是因为我虚拟机的内存有限,硬件允许的可以忽略

因为我是单机启动,所以将discovery.type设置为single-node

es-net为上一步我们创建的网络名

docker run \
-d \
--name es \
--net es-net \
-p 9200:9200 \
-p 9300:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
elasticsearch:7.17.6

访问9200端口,如果浏览器中出现这串json就证明elasticsearch启动成功了

{
    "name": "ab675a286e72",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "ZdLfD65lQdKStAJi1yWMMQ",
    "version": {
        "number": "7.17.13",
        "build_flavor": "default",
        "build_type": "docker",
        "build_hash": "2b211dbb8bfdecaf7f5b44d356bdfe54b1050c13",
        "build_date": "2023-08-31T17:33:19.958690787Z",
        "build_snapshot": false,
        "lucene_version": "8.11.1",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}

Docker安装部署Kibana

Kibana 是为 Elasticsearch设计的开源分析和可视化平台

拉取镜像

docker pull kibana:7.17.6

Kibana容器,启动!

ELASTICSEARCH_HOSTS环境变量为elasticsearch服务的地址,其中http://es:9200中的es是我们运行elasticsearch容器时起的别名

es-net为我们在之前创建的网络的名称

docker run \
-d \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--name kibana \
--net es-net \
-p 5601:5601 \
kibana:7.17.6

Kibana的启动比较慢,一段时间以后访问5601端口如果能正常进入控制台界面则证明Kibana部署成功

安装IK分词器

elasticsearch默认的分词器对于中文分词不友好

标准分词器分词:

POST /_analyze
{
  "text": "elasticsearch 8.x版本太难啦!"
  , "analyzer": "standard"
}
{
  "tokens" : [
    {
      "token" : "elasticsearch",
      "start_offset" : 0,
      "end_offset" : 13,
      "type" : "<ALPHANUM>",
      "position" : 0
    },
    {
      "token" : "8",
      "start_offset" : 14,
      "end_offset" : 15,
      "type" : "<NUM>",
      "position" : 1
    },
    {
      "token" : "x",
      "start_offset" : 16,
      "end_offset" : 17,
      "type" : "<ALPHANUM>",
      "position" : 2
    },
    {
      "token" : "版",
      "start_offset" : 17,
      "end_offset" : 18,
      "type" : "<IDEOGRAPHIC>",
      "position" : 3
    },
    {
      "token" : "本",
      "start_offset" : 18,
      "end_offset" : 19,
      "type" : "<IDEOGRAPHIC>",
      "position" : 4
    },
    {
      "token" : "太",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "<IDEOGRAPHIC>",
      "position" : 5
    },
    {
      "token" : "难",
      "start_offset" : 20,
      "end_offset" : 21,
      "type" : "<IDEOGRAPHIC>",
      "position" : 6
    },
    {
      "token" : "啦",
      "start_offset" : 21,
      "end_offset" : 22,
      "type" : "<IDEOGRAPHIC>",
      "position" : 7
    }
  ]
}

可以看到默认分词器对英文分词效果还不错,但对于中文分词不太友好。

我们再来实施ik分词器

POST /_analyze
{
  "text": "elasticsearch 8.x版本太难啦!"
  , "analyzer": "ik_smart"
}
{
  "tokens" : [
    {
      "token" : "elasticsearch",
      "start_offset" : 0,
      "end_offset" : 13,
      "type" : "ENGLISH",
      "position" : 0
    },
    {
      "token" : "8.x",
      "start_offset" : 14,
      "end_offset" : 17,
      "type" : "LETTER",
      "position" : 1
    },
    {
      "token" : "版本",
      "start_offset" : 17,
      "end_offset" : 19,
      "type" : "CN_WORD",
      "position" : 2
    },
    {
      "token" : "太难",
      "start_offset" : 19,
      "end_offset" : 21,
      "type" : "CN_WORD",
      "position" : 3
    },
    {
      "token" : "啦",
      "start_offset" : 21,
      "end_offset" : 22,
      "type" : "CN_CHAR",
      "position" : 4
    }
  ]
}

可以看到ik分词器对与中文分词十分友好。接下来我们就安装ik分词器

安装方式一:直接从github上下载

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip

安装方式二

之前我们将es-plugins数据卷挂载到了es容器内的plugins文件夹。

我们先使用魔法从github上下载

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip

然后将压缩包解压到数据卷对应的位置,然后重启elasticsearch容器即可。文章来源地址https://www.toymoban.com/news/detail-733323.html

词典扩展与停用

  • 创建ext.dit文件添加扩展词
  • 创建stopword.dic文件停用词

到了这里,关于Docker安装部署Elasticsearch+Kibana+IK分词器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ELK第一讲之【docker安装(Elasticsearch、kibana、IK分词器、Logstash)8.4.3】

    ELK第一讲之【docker安装(Elasticsearch、kibana、IK分词器、Logstash)8.4.3】

    1、 对应版本kibana8.4.3的安装 2、 IK分词器8.4.3的安装 3、 Logstash-8.4.3的安装 启动出现以下错误,再执行该操作 出现max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144] 1、启动es 2、复制elasticsearch.yml 3、复制完成后、关闭不要的校验 4、关闭容器 开放9200端口 打

    2023年04月23日
    浏览(12)
  • 在 Linux 上使用 Docker 安装 Elasticsearch 和 Kibana 并配置 IK 分词器和停用词典

    在 Linux 上使用 Docker 安装 Elasticsearch 和 Kibana 并配置 IK 分词器和停用词典

    首先要创建一个网络,以便让 ES 和 Kibana 容器互联。 使用 Docker 拉取 Elasticsearch7.17.11 版本的镜像: 拉取完镜像后使用 Docker 运行 ES 容器: 注: -e \\\"ES_JAVA_OPTS=-Xms512m -Xmx512m\\\" :设置堆大小(默认堆大小为 1GB 1 ) -e \\\"discovery.type=single-node\\\" :单节点模式 -v es-data:/usr/share/elasticsear

    2024年02月05日
    浏览(15)
  • Docker部署elasticsearch及安装IK分词器插件

    1、拉取启动es镜像 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e \\\"discovery.type=single-node\\\" elasticsearch:7.6.2 以上方法为正常安装,但是es是重量级框架,内存耗用多。据实际硬件情况,可参考如下安装方式限制es的内存为64M-512M之间,若需要配置设置网络可自行创建网络并用--n

    2024年04月12日
    浏览(6)
  • Linux Elasticsearch kibana ik分词器 安装部署

    Linux Elasticsearch kibana ik分词器 安装部署

    1.1 elasticsearch下载 找到对应版本 点击下载linux版本 1.2 kibana 下载地址 访问地址后 和elasticsearch 下载操作一样 版本下载和elasticsearch 一样的 1.3 ik分词器下载 这个需要访问github 如果访问不通 可以尝试安装浏览器的插件加速一下github即可 分词器版本硬性要求 和 elasticsearch必须一

    2024年02月04日
    浏览(22)
  • linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    目录 搭建docker 1.2安装yum工具  1.3更新阿里镜像源 1.4下载docker 1.5关闭防火墙 1.6启动docker 1.7查看docker版本 1.8配置阿里云镜像 1.8.1 创建文件夹 1.8.2在文件夹内新建一个daemon.json文件 1.8.3重载文件 1.9重启docker 2安装MySQL 3安装nacos 3.1拉取nacos镜像并启动 3.2启动nacos命令 3.3命令敲完

    2024年02月03日
    浏览(10)
  • 搜索引擎elasticsearch :安装elasticsearch (包含安装组件kibana、IK分词器、部署es集群)

    搜索引擎elasticsearch :安装elasticsearch (包含安装组件kibana、IK分词器、部署es集群)

    kibana可以帮助我们方便地编写DSL语句,所以还要装kibana 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。 课前资料提供了镜像的tar包: 大家将

    2024年02月16日
    浏览(11)
  • Docker:Elasticsearch安装配置IK分词器

    Docker:Elasticsearch安装配置IK分词器

    一、背景:   搞了elasticsearch和kibana的安装和配置,在进行分词的时候没有达到自己预想的效果,于是写一下elasticsearch的ik分词器的安装和配置(自定义分词)。 二、解决方式: 1:首先看看没有加ik分词器的效果。 2:下载ik软件包。  3:选择自己响应版本。  4:将下载好的

    2023年04月18日
    浏览(6)
  • Docker 安装 elasticsearch、kibana、ik

    Docker 安装 elasticsearch、kibana、ik

    1. 拉取 elasticsearch 镜像  2. 创建 elasticsearch 容器  上述命令执行完成之后,容器创建成功,有的机器需要10分钟左右才能访问成功,请耐心等待 3. 上传ik分词器并解压  将压缩包上传至 /opt 目录下 unzip 没有执行命令下载一个:yum install unzip -y 4. 将ik分词器拷贝到容器内(进入

    2024年02月08日
    浏览(8)
  • 通过docker安装Elasticsearch以及ik分词器

    通过docker安装Elasticsearch以及ik分词器

    1 拉取镜像,Elasticsearch对应SpringBoot2.2.3 2 运行镜像,映射端口9200,9300 3 通过浏览器ip+9200访问如下即可。 1 进入elasticsearch容器 2 进入bin目录下 3 下载ik分词器 4 重启容器,通过可视化工具即可测试 可视化工具可以通过修改配置文件来连接不同ip的elasticsearch。 下载官方网址:

    2023年04月12日
    浏览(6)
  • docker 安装nginx 和 elasticsearch ik 自定义分词

    1、切换到/mydata 文件夹 创建 nginx 目录      mkdir nginx         2、运行 docker run --name nginx -p 80:80 -d nginx:1.22.0 3、复制docker 里面的nginx配置到  外面的nginx/conf 下面      docker cp nginx:/etc/nginx  /mydata/nginx 4、把 /mydata/nginx下面的nginx 改成conf     mv nginx/  conf 5、停nginx 删除dock

    2024年02月12日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包