当前位置: 首页 > news >正文

Elasticsearch8.6.0安装

Elasticsearch 8.5.0 安装

  • Elasticsearch 简介
  • Elasticsearch 8.6.0 安装
    • 创建网络
    • 拉取镜像
    • 运行镜像
    • 设置密码
    • 修改kibana配置
    • 绑定ES
      • 代码绑定:
      • 手动绑定:
    • 配置ik分词器
    • 扩展词词典
    • 停用词词典

Elasticsearch 简介

  • Elasticsearch(ES) 是一个基于 Apache Lucene 开源的分布式、高扩展、近实时的搜索引擎,主要用于海量数据快速存储,实时检索,高效分析的场景。通过简单易用的 RESTful API,隐藏 Lucene 的复杂性,让全文搜索变得简单。
  • ES 功能总结有三点:
    • 分布式 存储
    • 分布式 搜索
    • 分布式 分析
  • 因为是分布式,可将海量数据分散到多台服务器上存储,检索和分析,只要是海量数据需要完成上面这三种操作的业务场景,一般都会考虑使用 ES,比如维基百科,Stack Overflow,GitHub 后台均有使用。

Elasticsearch 8.6.0 安装

使用 Docker 安装

创建网络

  • 因为需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
    • docker network create es-net

拉取镜像

  • docker pull elasticsearch:8.6.0
  • docker pull kibana:8.6.0

运行镜像

  • 挂载目录都在 /var/lib/docker/volumes下的
  • 启动es容器:
docker run -it -d \
--name es \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
-v es-config:/usr/share/elasticsearch/config \
--privileged \
--network es-net \
elasticsearch:8.6.0 
  • 访问网页 http://你的ip:9200/ 查看运启动结果
  • 启动 kibana 容器
docker run -it -d \
-p 5601:5601 \
--name kibana \
-e ELASTICSEARCH_URL=http://127.0.0.1:9200  \
--network=es-net \
kibana:8.6.0 
  • 访问网页 http://你的ip:5601/ 查看运启动结果

设置密码

  • 进入es容器
    • docker exec -it es /bin/bash
  • elasticsearch-setup-passwords interactive
  • 如果不报错就万幸了,一个一个的设置密码。
  • 如果报错:
    • elasticsearch-reset-password -i -u
      • 依次修改 elastic、apm_system、kibana_system、logstash_system、beats_system、remote_monitoring_user 的密码。
    • 会提示你:Please confirm that you would like to continue [y/N]
      • 输入 y
    • 然后两次输入密码即可。
      在这里插入图片描述

修改kibana配置

  • 先退出
    • exit
  • vim /var/lib/docker/volumes/kibana/usr/share/kibana/config/kibana.yml
    • 在末尾插入
elasticsearch.username: "elastic"
# 记得修改密码为自己的
elasticsearch.password: "123456"
# 汉化
i18n.locale: "zh-CN"

在这里插入图片描述

  • 保存退出
  • 重启 kibana
    • docker restart kibana
  • 然后等1分钟刷新网页,发现已经 汉化成功了。

绑定ES

代码绑定:

  • docker exec -it es /bin/bash
  • elasticsearch-create-enrollment-token --scope kibana
  • 把这一串签名 复制到 kibana 网页(服务器ip:5601)中。http://你的ip:5601/
  • 记得要快,好像是30分钟的期限。
    在这里插入图片描述
    在这里插入图片描述

出现验证代码请求
在这里插入图片描述

  • 退出es
    • exit
  • 进入 kibana 容器生成 code
    • docker exec -it kibana /bin/bash

    • bin/kibana-verification-code
      在这里插入图片描述

    • 复制这个 code 到网页上去,(直接复制粘贴,手打可能输不上去)

  • 输入用户名密码:(用户名:elastic

手动绑定:

  • 手动设置:点击
    在这里插入图片描述

  • 输入 自己的网页 http://你的ip:9200/

  • 输入用户名密码:(用户名:elastic)

  • 进入 kibana 容器生成 code

    • docker exec -it kibana /bin/bash

    • bin/kibana-verification-code
      在这里插入图片描述

    • 复制这个 code 到网页上去,(直接复制粘贴,手打可能输不上去)

配置ik分词器

  • 下载地址(注意版本一致性):https://github.com/medcl/elasticsearch-analysis-ik/archive/refs/tags/v8.6.0.zip

  • 里面包含如下文件
    在这里插入图片描述

  • 解压,重命名为 ik

  • 安装插件需要知道elasticsearch的plugins目录位置,而我们用了数据卷挂载,因此需要查看elasticsearch的
    数据卷目录,通过下面命令查看:

    • docker volume inspect es-plugins
      在这里插入图片描述

    • 说明plugins目录被挂载到了: /var/lib/docker/volumes/es-plugins/_data 这个目录中。

  • 将 刚解压并改名的 ik文件 放到挂载文件夹里
    在这里插入图片描述

  • 重启容器:

    • docker restart es
    • docker restart kibana
  • 进入容器:

    • docker exec -it es /bin/bash
  • 查看已安装分词器

    • bin/elasticsearch-plugin list
      在这里插入图片描述

扩展词词典

  • 随着互联网的发展,“造词运动”也越发的频繁。出现了很多新的词语,在原有的词汇列表中并不存在。比
    如:“奥力给” 等。为此 IK 分词器提供了扩展词汇的功能。
  • 打开IK分词器 config目录(刚挂载进来的文件)
  • 找到 IKAnalyzer.cfg.xml 文件并编辑
    • 我的是:vim /var/lib/docker/volumes/es- plugins/_data/ik/config/IKAnalyzer.cfg.xml
    • 在 < entry key=“ext_dict”> 标签中添加:ext.dic
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 * 添加扩展词典 --><entry key="ext_dict">ext.dic</entry>
</properties>
  • 保存并退出
  • 新建一个 ext.dic,里面存放词汇。可以参考config目录下复制一个配置文件进行修改
    • 移动到 config 目录下
    • cp main.dic ext.dic
    • vim ext.dic
      • 直接按 d + G,删除全部,再写入自己的关键词
    • 注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑
泰裤辣
家人们
  • 重启 ES:
    • docker restart es
  • 测试效果
GET /_analyze
{
"analyzer": "ik_max_word",
"text": "西安欧鹏太棒了,奥力给!"
}

停用词词典

  • 在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等
    敏感词语,那么我们在搜索时也应该忽略当前词汇。
  • IK分词器也提供了强大的停用词功能,让我们在索引时就直接忽略当前的停用词汇表中的内容。
  • 打开IKAnalyzer.cfg.xml 配置文件
    • vim /var/lib/docker/volumes/es-plugins/_data/ik/config/IKAnalyzer.cfg.xml
  • 在 < entry key=“ext_stopwords”> 标签中添加:stopword.dic
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">ext.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic</entry>
</properties>
  • 新建一个 stopword.dic,里面存放词汇。可以参考config目录下复制一个配置文件进行修改
    • 已经有就不用添加了
    • 若没有:
      • 移动到 config 目录下
      • cp main.dic stopword.dic
      • vim stopword.dic
        • 直接按 d + G,删除全部,再写入自己的关键词
http://www.lryc.cn/news/92996.html

相关文章:

  • Vue - 第五天 动态组件 插槽 自定义指令
  • 如何开展web自动化测试
  • 【博学谷学习记录】超强总结,用心分享 | 架构师 Maven学习总结
  • PPT里文字太多如何排版-一口气教你7种布局瞬间让PPT高大上起来
  • Whistle(基于 Node 实现的跨平台抓包调试工具)的使用
  • 数学模型:Python实现非线性规划
  • Docker网路模型(四)使用 bridge 网络
  • 数据结构与算法之美 | 排序(2)
  • 【外企面试系列】必备口语短语与例句 - A系列
  • Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例
  • 肠道健康从核心菌属开始:肠道菌群的关键
  • 深度学习实战37-NASNet(具有自动搜索能力的神经网络模型)的搭建与实战应用
  • 碳排放预测模型 | Python实现基于机器学习回归分析的碳排放预测模型——随机森林、决策树、KNN 和多层感知器 (MLP) 预测分析
  • 人体检测技术之毫米波雷达
  • “Chain of Thought Reasoning“ 和 “Chain Prompts“ 是什么
  • signal
  • 深度研究微软的资产负债表和财务状况以及未来投资价值
  • Mac电脑删除第三方软件工具CleanMyMac X
  • leetcode174. 地下城游戏(java)
  • 信号与系统复习笔记——傅里叶变换
  • Allegor17.2版本WIN11系统CIS配置提示错误解决方案
  • Java设计模式七大原则-合成聚合复用原则
  • SOFA Weekly|可信基础设施技术分论坛、Layotto 社区会议回顾与预告、社区本周贡献...
  • Melody 监控(四十九)
  • Shell脚本管道符常用搭配命令
  • 基于html+mysql+Spring+mybatis+Springboot的Springboot宠物医院管理系统
  • 算法模板(3):搜索(5):其他
  • AWS CodeWhisperer 心得体会:安装与使用
  • 高级查询 — 子查询
  • 霍夫变换(Hough Transform)