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
- 然后两次输入密码即可。
- elasticsearch-reset-password -i -u
修改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
- 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,删除全部,再写入自己的关键词
相关文章:

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

Vue - 第五天 动态组件 插槽 自定义指令
动态组件& 插槽& 自定义指令 一、动态组件1.什么是动态组件2.如何实现动态组件渲染3.使用 keep-alive 保持状态4. keep-alive 对应的生命周期函数5. keep-alive 的 include 属性6.动态展示左右组件7.例子 二、插槽1.什么是插槽2.体验插槽的基础用法2.1 没有预留插槽的内…...
如何开展web自动化测试
Web 自动化是指使用测试脚本在 Web 上自动执行任务。它包括填写表单、导航网页、单击链接或按钮以及从网站中提取数据等任务。 它可用于各种目的,例如自动输入数据或测试网站的功能。有几种工具和编程语言可用于自动化网络上的任务,包括Selenium&#x…...

【博学谷学习记录】超强总结,用心分享 | 架构师 Maven学习总结
文章目录 Maven基本1.什么是Maven2.为什么用Maven?(1)jar 包的规模(2) jar 包的来源(3)jar 包之间的依赖关系 3.Maven目录结构4.maven仓库配置 Pom层次Pom文件简介Super POM 依赖管理1 依赖传递2 传递性依…...

PPT里文字太多如何排版-一口气教你7种布局瞬间让PPT高大上起来
简介 这是我们学PPT处于初级到中级进化阶段常做的一件事,就是拿了这种纯文字类版面来做布局。而且这种文字都是政企类的、相当苦涩难懂、无法创意。 因此我们会要求使用7种排版来优化这个版面。这和达芳奇画鸡蛋很像,这样的练习需要坚持一段时间,就是拿了纯文字来beautifu…...

Whistle(基于 Node 实现的跨平台抓包调试工具)的使用
Whistle(基于 Node 实现的跨平台抓包调试工具)的使用 基于Node实现的跨平台抓包调试工具 可以劫持网络请求,并进行请求和响应的修改,来提高我们的开发调试效率 1.一键安装(装包/证书) npm i -g whistle && w2 start --init 证书的问题 安装…...
数学模型:Python实现非线性规划
上篇文章:整数规划 文章摘要:非线性规划的Python实现。 参考书籍:数学建模算法与应用(第3版)司守奎 孙玺菁。 PS:只涉及了具体实现并不涉及底层理论。学习底层理论以及底层理论实现:可以参考1.最优化模型与算法——基于…...
Docker网路模型(四)使用 bridge 网络
使用 bridge 网络 在计算机网络中,一个 bridge(网桥)是一个链路层设备,负责在不同的网段之间转发信息。 bridge 可以是真实的硬件设备也可以是由宿主机底层提供的软件模拟设备。 在 Docker 中,bridge 网络使用了软件…...
数据结构与算法之美 | 排序(2)
归并排序(Merge Sort) 基本思想: 如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 def merge_sort…...
【外企面试系列】必备口语短语与例句 - A系列
a big headache令人头痛的事情 I have a big headache from all the noise. (我因为噪音而头痛。)The paperwork is a big headache for me. (对我来说,文书工作是件头痛的事情。) a fraction of 一部分 She ate only a fraction of her meal. (她只吃了一部分饭…...

Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例
Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例 一、Opencv大图找小图说明二、Opencv的window安装1.下载windows下的安装包2.安装3.Java中Opencv加载测试 三、Java中通过Opencv进行模板匹配大图找小图四、进行多图查找五:案例下载bilibili视…...

肠道健康从核心菌属开始:肠道菌群的关键
谷禾健康 5月29日,是世界肠道健康日。肠道是人体最重要的消化系统之一,与人体健康紧密相关。而肠道菌群作为肠道重要组成部分,在肠道健康中发挥着重要的作用。 编辑 由于基因、环境、饮食、药物等因素的影响,每个人的肠道菌群都…...
深度学习实战37-NASNet(具有自动搜索能力的神经网络模型)的搭建与实战应用
大家好,我是微学AI,今天给大家介绍一下深度学习实战37-NASNet(具有自动搜索能力的神经网络模型)的搭建与实战应用,NASNet是由Google Brain团队开发的一种具有自动搜索能力的神经网络模型,利用强化学习和进化算法等技术来自动地搜索最优的神经网络架构。NASNet模型的设计灵感…...

碳排放预测模型 | Python实现基于机器学习回归分析的碳排放预测模型——随机森林、决策树、KNN 和多层感知器 (MLP) 预测分析
文章目录 效果一览文章概述研究内容环境准备源码设计KNNRandom ForestDecision TreeMLPModel Evaluation学习总结参考资料效果一览...
人体检测技术之毫米波雷达
人体检测技术之毫米波雷达 1.概述 智能人脸/视频锁领域的人体检测需求是要求远距离达到1m左右即可,一旦在此距离内检测人,则锁唤醒进行人脸识别,视频录制等操作。所以,人体检测技术非常关键。 选型主要是几个维度: 1.支持检测的距离范围,能否准确输出距离信息 2.支持…...
“Chain of Thought Reasoning“ 和 “Chain Prompts“ 是什么
"Chain of Thought Reasoning" 和 "Chain Prompts" 是什么 1. "Chain Prompts" 是什么2. “Chain of Thought Reasoning” 是什么 1. “Chain Prompts” 是什么 “Chain Prompts” 是指一系列相关的提示,它们之间有逻辑上的联系和依赖关系。用户…...
signal
读信号,dqs 是对齐到dq的边沿, 写信号,dqs 的边沿是对到中间的。 spec 就是这样规定的。我们在dq的最中间的采样,肯定是最安全的。 dqs 是对齐到dq的边沿 , 在silicon 内部,还是通过移位完成的。 rl: re…...

深度研究微软的资产负债表和财务状况以及未来投资价值
来源:猛兽财经 作者:猛兽财经 微软股票的关键指标 猛兽财经认为,微软公布的2023财年第三季度财务业绩,有三个关键指标值得投资者关注。 第一个关键指标是利息收入。微软的利息收入目前已经同比增长了44%,从2022财年第…...

Mac电脑删除第三方软件工具CleanMyMac X
经常使用Mac的人都知道,Mac除了可以在AppStore下载应用程序,还有许多软件是需要在网页上搜索下载的第三方软件。那么这类第三方软件软件除了下载方式不同之外还有什么是和从App store下载的软件有区别的吗?答案是肯定的,那就是这些…...

leetcode174. 地下城游戏(java)
地下城游戏 leetcode174. 地下城游戏题目描述 动态规划解题思路代码 动态规划专题 leetcode174. 地下城游戏 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/dungeon-game 题目描述 恶魔们抓住了公主并将她关在了地下城 …...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...