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 题目描述 恶魔们抓住了公主并将她关在了地下城 …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...