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

微服务——elasticsearch

初识ES——什么是elasticsearch

 

 

 elasticsearch的发展

 

 初识ES——正向索引和倒排索引

 

初识ES——es与mysql的概念对比

类比到mysql中是表结构约束 

 概念对比 

 

初始ES——安装es和kibana 

1.部署单点es

1.1创建网络

要安装es容器和kibana容器并让他们之间相连,这里就要先创建一个网络

docker network create es-net

1.2拉取es镜像

docker pull elasticsearch:7.12.1

1.3运行

docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.12.1
docker run -d 	--name es      -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"     -e "discovery.type=single-node"      -v es-data:/usr/share/elasticsearch/data      -v es-plugins:/usr/share/elasticsearch/plugins      --privileged      --network es-net      -p 9200:9200      -p 9300:9300  elasticsearch:7.12.1

 

命令解释:

  • -e "cluster.name=es-docker-cluster":设置集群名称

  • -e "http.host=0.0.0.0":监听的地址,可以外网访问

  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小

  • -e "discovery.type=single-node":非集群模式

  • -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录

  • -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录

  • -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录

  • --privileged:授予逻辑卷访问权

  • --network es-net :加入一个名为es-net的网络中

  • -p 9200:9200:端口映射配置

 在浏览器中输入:http://xxx.xxx.xxx.xxx:9200/ 即可看到elasticsearch的响应结果:

 

2.部署kibana

kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。

2.1.拉取镜像

docker pull kibana:7.12.1

2.2部署

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中

  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

  • -p 5601:5601:端口映射配置

 

此时,在浏览器输入地址访问:http://xxx.xxx.xxx.xxx:5601,即可看到结果

2.2.DevTools

kibana中提供了一个DevTools界面:

如果一直是这个界面的话说明苟日的内存炸了.....tmd,不就是开了个nacos,rabbitmq,redis,然后就顶不住了es+kibana

正常进来之后如下 

 

 进入DevTools

下面的DSL命令就是查询es中的所有数据,

 模拟发送一个GET请求,和上面的es:9200得到的东西一样。

 初始ES——安装IK分词器

 如下所见对中文的分词支持不友好,完全逐字来分

 一般中文分词用的是IK分词器

在线安装ik插件

# 进入容器内部
docker exec -it elasticsearch /bin/bash# 在线下载并安装
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip#退出
exit
#重启容器
docker restart elasticsearch

 

IK分词器包含两种模式:

  • ik_smart:最少切分

  • ik_max_word:最细切分

GET /_analyze
{"analyzer": "ik_max_word","text": "北岭山脚鼠鼠学习java"
}

  再次测试得到如下结果,

{"tokens" : [{"token" : "北","start_offset" : 0,"end_offset" : 1,"type" : "CN_CHAR","position" : 0},{"token" : "岭","start_offset" : 1,"end_offset" : 2,"type" : "CN_CHAR","position" : 1},{"token" : "山脚","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 2},{"token" : "鼠","start_offset" : 4,"end_offset" : 5,"type" : "CN_CHAR","position" : 3},{"token" : "鼠","start_offset" : 5,"end_offset" : 6,"type" : "CN_CHAR","position" : 4},{"token" : "学习","start_offset" : 6,"end_offset" : 8,"type" : "CN_WORD","position" : 5},{"token" : "java","start_offset" : 8,"end_offset" : 12,"type" : "ENGLISH","position" : 6}]
}

IK分词器的扩展和停用词典

在IK分词器的底层会依赖一个词典,比如一些网络用语组成的词语。什么鸡你太美。。。

 

 新建一个 ext.dic,可以参考config目录下复制一个配置文件进行修改

奥力给
北岭山
北岭山脚鼠鼠

在 stopword.dic 添加停用词

蔡徐坤

重启elasticsearch  

# 重启服务
docker restart elasticsearch
docker restart kibana

相关文章:

微服务——elasticsearch

初识ES——什么是elasticsearch elasticsearch的发展 初识ES——正向索引和倒排索引 初识ES——es与mysql的概念对比 类比到mysql中是表结构约束 概念对比 初始ES——安装es和kibana 1.部署单点es 1.1创建网络 要安装es容器和kibana容器并让他们之间相连,这里…...

paddlenlp:社交网络中多模态虚假媒体内容核查

初赛之环境配置篇 一、背景二、任务三、数据集1、初赛阶段2、评分标准 四、环境操作五、写在最后 一、背景 随着新媒体时代信息媒介的多元化发展,各种内容大量活跃在媒体内中,与此同时各类虚假信息也充斥着社交媒体,影响着公众的判断和决策。…...

Centos系统有哪些特点呢

CentOS 是一个基于 Red Hat Enterprise Linux (RHEL) 的免费的开源操作系统,由 CentOS 项目维护。CentOS 项目是一个社区驱动的项目,旨在为用户提供一个稳定的、可扩展的 Linux 发行版。 CentOS 系统具有以下特点: 稳定性:CentOS 系统非常稳定,即使是在高负载的环境下也是如此…...

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范:2. 最佳实践3. 分支命名规范示例:4. 分支管理方法: 2. commit 注释规范1. 提交注释结构:2. 提交注释的准则: 3. git 常用命令1. git pull 核心用法2. git push 命令1…...

[PyTorch][chapter 46][LSTM -1]

前言: 长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的。 目录: 背景简介 LSTM C…...

寄存器详解(二)

目录 内存中字的存储 示例: 数据段寄存器DS与[address] 字的传送 数据段简介 CPU提供的栈机制 栈段寄存器SS和栈顶指针寄存器SP PUSH AX指令的完整描述 示例图 POP AX指令的完整描述 示例图 栈顶超界问题 示例一: 示例二: 内存中字…...

Java AIO

在Java中,AIO代表异步I/O(Asynchronous I/O),它是Java NIO的一个扩展,提供了更高级别的异步I/O操作。AIO允许应用程序执行非阻塞I/O操作,而无需使用Selector和手动轮询事件的方式。 与传统的NIO和Java NIO…...

java集合总结

1.常见集合 Collection List:有序可重复集合,可直接根据元素的索引来访问 Vector-StackArrayListLinkedList Queue:队列集合 Deque-LinkedList、ArrayDequePriorityQueue Set:无序不可重复集合,只能根据元素本身来访问…...

list交并补差集合

list交并补差集合 工具类依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.8.1</version> </dependency><dependency><groupId>commons-collections&…...

【微信小程序】父组件修改子组件数据或调用子组件方法

一、使用场景 页面中用到了自定义组件形成父子组件关系&#xff0c;在父组件某个特定时期想要操作子组件中的数据或方法&#xff0c;比如离开页面的时候清空子组件的数据。 二、方法 父组件可以通过this.selectComponent方法获取子组件实例对象&#xff0c;这样就可以直接访…...

frp通过nginx映射multipart/x-mixed-replace; boundary=frame流媒体出外网访问

要通过Nginx访问multipart/x-mixed-replace流媒体协议&#xff0c;并通过FRP进行映射访问&#xff0c;你可以按照以下步骤进行操作&#xff1a; 配置Nginx以支持multipart/x-mixed-replace流媒体协议。你需要编辑Nginx的配置文件&#xff08;通常是nginx.conf&#xff09;&…...

Kubernetes概述

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署&#xff08;一&#xff09;主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署&#xff08;二&#xff09;ETCD集群部署 Kubernetes高可用集群二进制部署&#xff08;三&#xff09;部署…...

Jmeter教程

目录 安装与配置 一&#xff1a;下载jdk——配置jdk环境变量 二&#xff1a;下载JMeter——配置环境变量 安装与配置 一&#xff1a;下载jdk——配置jdk环境变量 1.新建环境变量变量名:JAVA_HOME变量值&#xff1a;&#xff08;即JDK的安装路径&#xff09; 2.编辑Path%J…...

用Rust实现23种设计模式之建造者模式

当使用 Rust 实现建造者模式时&#xff0c;我们可以通过结构体和方法链来实现。建造者模式是一种创建型设计模式&#xff0c;它允许你按照特定的顺序构建复杂对象&#xff0c;同时使你能够灵活地构建不同的变体。下面是一个使用 Rust 实现建造者模式的示例&#xff0c; 在示例中…...

聚观早报 | 腾讯字节等企业驰援防汛救灾;新能源车7月销量单出炉

【聚观365】8月4日消息 腾讯字节等企业驰援防汛救灾新能源车7月销量成绩单出炉Model Y等车型低温续航衰减严重华为Mate60系列猜想图曝光支付宝做短视频引来羊毛党 腾讯字节等企业驰援防汛救灾 近日&#xff0c;京津冀地区遭遇极端降雨天气&#xff0c;引发洪涝和地质灾害&…...

Crack:CAD Exchanger SDK 3.20 Web Toolkit 应用

在CAD Exchanger SDK 版本 3.20.0中&#xff0c;我们在 Web Toolkit 中包含了绘图、BIM 和 MCAD 查看器的示例&#xff0c;以展示如何使用每个工具可视化数据。这些查看器具有显示不同类型数据的特定功能&#xff0c;允许用户根据自己的需求单独使用它们。我们将继续增强每个查…...

改造 ChatGPT-Next-Web 项目重新生成 Docker 镜像

改造 ChatGPT-Next-Web 项目重新生成 Docker 镜像 0.背景1. 修改代码2. 生成 Docker 镜像3. 上传 Docker 镜像4. 运行 Docker 镜像 0.背景 需要通过 ChatGPT-Next-Web 使用自己搭建的 OpenAI API 兼容的服务器&#xff0c;需要对 ChatGPT-Next-Web 项目的少量代码进行改造。 …...

git修改commit日志

由于公司对版本提交日志进行检查&#xff0c;如果不符合要求&#xff0c;则push失败。 以下是修改commit日志的方法&#xff1a; 1.进入到提交代码文件所在目录&#xff0c;即git所在目录下 cd app-repository 2.git log git log commit bf29e3e5e799d364fe2975677baf18c9…...

Qt之qml和widget混合编程调用

首先是创建一个widget项目 然后需要添加qml和quick的插件使用 QT quickwidgets qml 接着要在界面上创建一个quickwidget和按钮 创建一个c对象类 QObjectQml #ifndef QOBJECTQML_H #define QOBJECTQML_H#include <QObject> #include <QDebug> class QObjectQml …...

深度学习torch基础知识

torch. detach()拼接函数torch.stack()torch.nn.DataParallel()np.clip()torch.linspace()PyTorch中tensor.repeat()pytorch索引查找 index_select detach() detach是截断反向传播的梯度流 将某个node变成不需要梯度的Varibale。因此当反向传播经过这个node时&#xff0c;梯度…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

数据分析六部曲?

引言 上一章我们说到了数据分析六部曲&#xff0c;何谓六部曲呢&#xff1f; 其实啊&#xff0c;数据分析没那么难&#xff0c;只要掌握了下面这六个步骤&#xff0c;也就是数据分析六部曲&#xff0c;就算你是个啥都不懂的小白&#xff0c;也能慢慢上手做数据分析啦。 第一…...

MeshGPT 笔记

[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭&#xff01;_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...