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

基于docker-compose安装es和kibana

编写es的docker-compose脚本:

yaml 复制代码
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配置文件

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

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

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

json 复制代码
{
  "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分词器的下载地址

ruby 复制代码
https://github.com/medcl/elasticsearch-analysis-ik/releases

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

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

arduino 复制代码
elasticsearch-plugin install https://files.catbox.moe/u712h6.zip

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

测试中文分词结果

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

json 复制代码
POST _analyze
{
  "analyzer":"ik_max_word",
  "text":"高质量柔软白色tisu棉衣"
}
相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu4 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白804 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙4 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发4 天前
软件工程SOLID 五大设计原则
后端·软件工程