ES 入坑笔记系列(一)ES和Kibana的安装笔记记录

2023年 9月 3日 79.2k 0

基于docker-compose安装es和kibana

编写es的docker-compose脚本:

version: "3.1"
services:
  elasticsearch: 
    image: daocloud.io/library/elasticsearch:6.5.4
    restart: always
    container_name: elasticsearch
    ports:
      - 9200:9200
  kibana:
    image: daocloud.io/library/kibana:6.5.4
    restart: always
    container_name: kibana
    ports:
      - 80:5601
    environment:
      - elasticsearch_url=http://119.29.239.77:9200
    depends_on:
      - elasticsearch     

部署过程中,你可能会遇到这么些问题:

如何寻找相关es和kibana的镜像地址

进入这个平台直接搜索即可:hub.daocloud.io/repos?q=ela…

选择使用人最多的镜像,然后点击拉取按钮,接着会有镜像地址提示框弹出。

这里我们要注意,kibana和es是同一家公司研发出来的,因此它们在选择的时候产品的版本号要统一,这里我用的是6.5.4版本。

Docker安装 elasticsearch 报错max virtual memory areas vm.max_map_count [65530] is too low

遇到这种内存不足的问题,直接如下操作即可,修改linux的sysctl.conf配置文件

vi /etc/sysctl.conf
添加 一行 vm.max_map_count=655360
加载参数
sysctl -p
重启

修改了内存配置之后,再docker-compose重新执行一次。

如果es启动成功,我们可以通过 curl 'localhost:9200' 去看看返回结果,正常的话返回结果应该如下所示:

{
  "name" : "hZMgI5A",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "PT91KmjkTi2o15sNm6D7TA",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "d2ef93d",
    "build_date" : "2018-12-17T21:17:40.758843Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

然后再去访问 Kibana的页面,直接输入ip加端口即可访问

安装IK分词器

默认的es分词器对于英文的分词还可以,但是对于中文来说,不是那么好用。

ik分词器的下载地址

https://github.com/medcl/elasticsearch-analysis-ik/releases

使用docker exec -it xxxx bash 命令可以直接进入到容器内部的es目录下,在进入es的docker容器之后,我们可以手动切换到bin目录下,然后使用elasticsearch-plugin命令去下载ik分词器

由于docker容器内部下载东西网络太慢,所以我这边在本地的电脑上下载好了ik分词器,并且传到了一个免费的云存储平台上。下载命令如下:

elasticsearch-plugin install https://files.catbox.moe/u712h6.zip

注意:安装了ik分词器后,需要重启才能使之生效,所以这里我们直接使用docker restart命令去重启es即可。

测试中文分词结果

最后在kibana上的dev tools上,我们可以去测试ik分词器。

POST _analyze
{
  "analyzer":"ik_max_word",
  "text":"高质量柔软白色tisu棉衣"
}

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论