ElasticSearch08-分析器详解
零、文章目录
ElasticSearch08-分析器详解
1、分析器原理
- Elasticsearch的分词器(Analyzer)是全文搜索的核心组件,它负责将文本转换为一系列单词(term/token)的过程,也叫分词。
(1)分析器的构成
- 字符过滤器(Character Filters):
- 接收原始文本字符流,可以通过添加、移除或改变字符来转变原始字符流。例如,可以将印度-阿拉伯数字转换为阿拉伯-拉丁数字,或从流中去除HTML元素等。
- 分词器(Tokenizer):
- 接收字符流,将其分解为单独的tokens(通常是单个单词),并输出tokens流。例如,
whitespace
分词器在看到任何空格时将文本分解为tokens。它会将文本"Quick brown fox!"
转换为多个terms[Quick, brown, fox!]
。分词器还负责记录每个term的顺序或位置以及该term所代表的原始单词的开始和结束字符偏移量。
- 接收字符流,将其分解为单独的tokens(通常是单个单词),并输出tokens流。例如,
- Token过滤器(Token Filters):
- 接收令牌流,并且可以添加、删除或改变token。例如,
lowercase
token过滤器将所有token转换为小写,stop
token过滤器从token流中删除常用词(停用词),而synonym
token过滤器将同义词引入token流中。Token过滤器不允许更改每个token的位置或字符偏移量。
- 接收令牌流,并且可以添加、删除或改变token。例如,
(2)分析器的工作流程
- 字符过滤器处理:文本首先通过字符过滤器,进行预处理,如去除HTML标签或格式转换。
- 分词器分词:经过预处理的文本进入分词器,分词器根据定义的规则(如空格、标点符号等)将文本拆分成单个词汇。
- Token过滤器处理:分词后的词汇通过一系列的Token过滤器,进行进一步的处理,如小写化、停用词过滤、同义词扩展等。
- 输出tokens:经过Token过滤器处理后的词汇成为最终的tokens,这些tokens将被用于构建倒排索引。
(3)分析器的重要性
- 分词器对于Elasticsearch的全文搜索至关重要,因为它直接影响到搜索的准确性和相关性。不同的语言和文本类型可能需要不同的分词器来最有效地处理文本。
- Elasticsearch提供了多种内置分词器,如
standard
、simple
、whitespace
、stop
等,以适应不同的应用场景。 - 用户也可以根据需要自定义分词器,以满足特定的分词需求。
2、常见内置分词器
分词器名称 | 描述 | 示例文本 | 分词结果示例 |
---|---|---|---|
Standard Tokenizer | 使用Unicode文本分割算法,去除标点符号,适用于大多数欧洲语言 | “Elasticsearch: Search & Analytics” | [“Elasticsearch”, “Search”, “Analytics”] |
Whitespace Tokenizer | 以空白字符为分词符,包括空格和制表符 | “Elasticsearch, search & analytics” | [“Elasticsearch,”, “search”, “&”, “analytics”] |
Lowercase Tokenizer | 类似Whitespace Tokenizer,但将所有tokens转换为小写 | “Elasticsearch, search & analytics” | [“elasticsearch,”, “search”, “&”, “analytics”] |
Keyword Tokenizer | 不进行分词,将整个文本作为一个单独的token | “Elasticsearch: Search & Analytics” | [“Elasticsearch: Search & Analytics”] |
Pattern Tokenizer | 使用正则表达式进行分词,默认为\W+(非单词字符) | “Elasticsearch: Search & Analytics” | [“Elasticsearch”, “Search”, “Analytics”] |
N-Gram Tokenizer | 创建n-grams,连续的字符序列 | “elasticsearch”(2-gram) | [“el”, “le”, “ea”, “ar”, “rc”, “ch”, “ha”, “an”, “nt”, “ts”] |
Edge N-Gram Tokenizer | 从单词的开始或结束部分生成n-grams | “elasticsearch”(1-gram,edge) | [“e”, “l”, “s”, “e”, “l”, “a”, “r”, “c”, “h”] |
3、分词器使用场景
(1)索引阶段(Indexing Phase)
- **文档索引:**当文档被索引到Elasticsearch时,分词器用于将文本字段(如标题、内容等)转换为一系列tokens(词项)。这些tokens被存储在倒排索引中,以便后续搜索。
- **分析器应用:**在索引过程中,指定的分析器(由分词器和token过滤器组成)会被应用到字段上,以确定如何将文本分割成tokens。
(2)查询阶段(Query Phase)
- **查询解析:**当执行搜索查询时,Elasticsearch会对查询文本应用与索引时相同的分析器,包括分词器。这意味着查询文本也会被转换成tokens。
- **查询处理:**查询的tokens与索引的倒排索引中的tokens进行匹配,以确定哪些文档包含这些tokens。
(3)相关性评分(Scoring Phase)
- **评分计算:**在查询过程中,Elasticsearch会根据tokens在文档中出现的次数和频率计算相关性评分。分词器的使用确保了查询tokens与索引tokens的一致性,从而使得评分准确。
(4)聚合(Aggregations)
- **术语聚合:**在执行基于术语的聚合(如terms聚合)时,分词器确保了聚合字段的tokens与查询tokens的一致性。
(5)高亮(Highlighting)
- **结果高亮:**在搜索结果中,Elasticsearch会使用与索引相同的分析器对查询文本进行分词,以便在文档中高亮显示匹配的tokens。
(6)建议(Suggestions)
- **自动完成和建议:**在自动完成或建议功能中,分词器用于处理用户输入的查询,以便与索引中的tokens匹配。
(7)同义词处理(Synonyms)
- **查询扩展:**在使用同义词时,分词器可以与同义词过滤器结合使用,以便在查询时扩展tokens,包括同义词。
4、使用分词器
(1)默认分词器
- Elasticsearch的默认分词器是
standard
分词器。这个分词器适用于大多数西方语言,特别是英文,它基于Unicode文本分割算法(Unicode Text Segmentation)来分割文本,并去除大多数标点符号。standard
分词器在处理文本时会将所有单词转换为小写,以便进行不区分大小写的匹配。 - 在创建新的索引时,如果不指定分词器,Elasticsearch会自动使用
standard
分词器来处理文本字段。例如,如果你创建了一个名为my_index
的索引,并且没有指定分析器,那么my_index
中的text
字段将默认使用standard
分词器。 - 使用分词器进行分词,默认分词器无法解析中文词组,所以全部分词成单个字。
# 请求
Get _analyze
{"text":"测试分词器"
}# 返回
{"tokens" : [{"token" : "测","start_offset" : 0,"end_offset" : 1,"type" : "<IDEOGRAPHIC>","position" : 0},{"token" : "试","start_offset" : 1,"end_offset" : 2,"type" : "<IDEOGRAPHIC>","position" : 1},{"token" : "分","start_offset" : 2,"end_offset" : 3,"type" : "<IDEOGRAPHIC>","position" : 2},{"token" : "词","start_offset" : 3,"end_offset" : 4,"type" : "<IDEOGRAPHIC>","position" : 3},{"token" : "器","start_offset" : 4,"end_offset" : 5,"type" : "<IDEOGRAPHIC>","position" : 4}]
}
- 中文分词指定中文 ik 分词器
# 请求
Get _analyze
{"text":"测试分词器","analyzer": "ik_max_word"
}# 返回
{"tokens" : [{"token" : "测试","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "分词器","start_offset" : 2,"end_offset" : 5,"type" : "CN_WORD","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}]
}
(2)创建索引并指定分析器
- 我们创建了一个名为
my_custom_analyzer
的自定义分析器,它使用standard
分词器,并且应用了lowercase
和asciifolding
过滤器。 - 我们将
text
字段的分析器设置为定义的my_custom_analyzer
。
# 请求
PUT /my_index
{"settings": {"analysis": {"analyzer": {"my_custom_analyzer": {"type": "custom","tokenizer": "standard","filter": ["lowercase", "asciifolding"]}}}},"mappings": {"properties": {"text": {"type": "text","analyzer": "my_custom_analyzer"}}}
}# 返回
{"acknowledged" : true,"shards_acknowledged" : true,"index" : "my_index"
}
(3)索引文档
text
字段的值会被my_custom_analyzer
处理,包括分词、小写化和ASCII折叠。
# 请求
POST /my_index/_doc
{"text": "Elasticsearch is a distributed search engine."
}# 返回
{"_index" : "my_index","_type" : "_doc","_id" : "mhUp05MBwu_sOZK4ykdt","_version" : 1,"result" : "created","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 0,"_primary_term" : 1
}
(4)执行搜索
- 在这个搜索查询中,我们指定了
my_custom_analyzer
来处理查询字符串"Elasticsearch",确保查询时的分词和索引时的分词一致。
# 请求
GET /my_index/_search
{"query": {"match": {"text": {"query": "Elasticsearch","analyzer": "my_custom_analyzer"}}}
}# 返回
{"took" : 4,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : 0.2876821,"hits" : [{"_index" : "my_index","_type" : "_doc","_id" : "mhUp05MBwu_sOZK4ykdt","_score" : 0.2876821,"_source" : {"text" : "Elasticsearch is a distributed search engine."}}]}
}
(5)注意事项
- 分析器的选择对搜索结果有重要影响。正确的分析器可以帮助提高搜索的相关性和准确性。
- 自定义分析器可以根据具体需求组合不同的分词器和过滤器。
- 在创建索引后,分析器的设置不能更改,除非重新创建索引。
相关文章:
ElasticSearch08-分析器详解
零、文章目录 ElasticSearch08-分析器详解 1、分析器原理 Elasticsearch的分词器(Analyzer)是全文搜索的核心组件,它负责将文本转换为一系列单词(term/token)的过程,也叫分词。 (1ÿ…...
指针的深入讲解
本章重点: 字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数 我们在指针的初阶的时候主要讲了: 1.指针就是变量,用来存放地址,地址唯一标识一块内存空间 2.指针的大小是固定4个…...
王佩丰24节Excel学习笔记——第十二讲:match + index
【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 vlookup与match,index 相结合使用match,index 结合,快速取得引用的值扩展功能,使用match/index函数,结合照相机工具获取照片 一、回顾…...
概率论得学习和整理28:用EXCEL画折线图,X轴数据也被当成曲线的解决办法
目录 1 折线图和散点图,对数据的处理差别 1.1 EXCEL画图的一些默认设置 1.2 多于2列的数据,也是如此 2 如果我们非要以第1列数据为X轴,做一个折线图呢?也能 2.1 首先,把第1列,想当成X轴的数据…...
387. 字符串中的第一个唯一字符
1,题目 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。 2,代码 class Solution { public:int firstUniqChar(string s) {//记数排序int coutArr[26] {0};//统计字符出现…...
Oracle RAC最佳实践-优化私网连接
在 Oracle RAC 环境中,私网(Interconnect) 是节点之间通信和数据传输的关键部分。一直有个误解,认为私网(心跳网)只要能通随便什么交换机都可以,甚至有直连的,实际上私网的性能至关重要…...
[bug] StarRocks borker load意向之外的bug
意向之外,又清理之中 背景: StarRocks各方面碾压相同类型的数据库,最近我们要从生成HIVE导历史数据(ORC格式)到StarRocks,前期小测一下,在测试是没问题,上生产先导2个月的数据&…...
游戏AI实现-寻路算法(Dijkstra)
戴克斯特拉算法(英语:Dijkstras algorithm),又称迪杰斯特拉算法、Dijkstra算法,是由荷兰计算机科学家艾兹赫尔戴克斯特拉在1956年发现的算法。 算法过程: 1.首先设置开始节点的成本值为0,并将…...
9 OOM和JVM退出。OOM后JVM一定会退出吗?
首先我们把两个概念讲清楚 OOM是线程在申请堆内存,发现堆内存空间不足时候抛出的异常。 JVM退出的条件如下: java虚拟机在没有守护线程的时候会退出。守护线程是启动JVM的线程,服务于用户线程。 我们简单说下守护线程的功能: 1.日志的记录…...
Linux 端口操作
安装netstat yum -y install net-tools 检测端口占用 netstat -npl | grep "端口" 安装lsof lsof yum -y install lsof 检测端口占用 lsof -i :端口号 安装nc yum -y install nc 查看对方端口是否开放 nc -vz 对方ip 对方端口 安装telnet telnet yum -y in…...
【USB-HID】“自动化键盘“ - 模拟键盘输入
目录 【USB-HID】"自动化键盘" - 模拟键盘输入1. 前言2. 模拟键盘2.1 STM32CubeMX 配置2.2 修改代码配置2.3 发送按键信息 3. 接收主机Setup数据3.1 获取PC下发的数据 4. 总结 【USB-HID】“自动化键盘” - 模拟键盘输入 1. 前言 对于模拟键盘的实现,网…...
基于Spring Boot+Vue 的高校运动会管理系统
目录 1 绪论1.1研究背景1.2 研究意义1.3 相关开发技术简介1.3.1 Vue.js1.3.2 Spring Boot1.3.3 MySQL 2 系统分析2.1 需求分析2.1.1 功能需求2.1.2 非功能需求 2.2 系统可行性分析2.2.1 经济可行性2.2.2 技术可行性2.2.3 操作可行性 3 系统概要设计系统功能描述业务流程分析 4 …...
Linux应用程序中终止进程的几种方法
目录 1、正常退出进程的方法 1.1、exit(int status) 函数 1.2、_exit(int status) 函数 1.3、_Exit(int status) 函数 2、异常退出进程的方法 3、何时使用这些方法? 在 Linux 应用程序中,终止进程的方式有多种,通常取决于进程是否需要进…...
电脑文档损坏:原因剖析和修复方法
在使用电脑的过程中,许多用户可能会遇到文档突然提示损坏、无法打开的情况。这种情况的发生往往让人感到困惑,特别是当并未进行任何明显错误操作时。以下是一些常见的原因以及应对方法。 一、文档损坏的常见原因 1、非人为的异常操作: 在编…...
了解ARM的千兆以太网——RK3588
1. 简介 本文并不重点讲解调试内容,重点了解以太网在ARM设计中的框架以及在设备树以及驱动的一个整体框架。了解作为一个驱动开发人员当拿到一款未开发过的ARM板卡应该怎么去把网卡配置使用起来。 2. 基础知识介绍 在嵌入式ARM中实现以太网的解决方案通常有以下两种…...
【Nginx-4】Nginx负载均衡策略详解
在现代Web应用中,随着用户访问量的增加,单台服务器往往难以承受巨大的流量压力。为了解决这一问题,负载均衡技术应运而生。Nginx作为一款高性能的Web服务器和反向代理服务器,提供了多种负载均衡策略,能够有效地将请求分…...
低级计算机网络知识总结
1 应用层 1.1 HTTP(TCP) 浏览器访问WWW服务器过程:首先进行域名解析,然后通过TCP向服务器发送连接请求 HTTP本身是无连接,无状态的。无状态特性使服务器能够支持大量的并发HTTP请求。实际应用中,通常使用Cookie加数据库跟踪用户…...
linux sysrq的使用举例
在menuconfig中选择m和 *的区别: *: 模块驱动编译到内核中,启动时自动加载 M:标识作为内核模块编译 空格:表示该功能不编译到内核中,即新的内核将不支持该功能。 m:模块会被编译,但是不会被编译到内核中,只…...
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
TSMC 12nm A72项目我们需要按照foundary的要求提前在floorplan阶段加好TCD Cell。这个cell是用来做工艺校准的。这个dummy TCD Cell也可以等后续Calibre 插dummy自动插。但咱们项目要求提前在floorplan阶段就先预先规划好位置。 TSCM12nm 1P9M的metal stack结构图如下图所示。…...
Oracle 适配 OpenGauss 数据库差异语法汇总
背景 国产化进程中,需要将某项目的数据库从 Oracle 转为 OpenGauss ,项目初期也是规划了适配不同数据库的,MyBatis 配置加载路径设计的是根据数据库类型加载指定文件夹的 xml 文件。 后面由于固定了数据库类型为 Oracle 后,只写…...
【记录】Django解决与VUE跨域问题
1 梗概 这里记录Django与VUE的跨域问题解决方法,主要修改内容是在 Django 中。当然其他的前端项目 Django 也可以这样处理。 2 安装辅助包 pip install django-cors-headers3 配置 settings.py INSTALLED_APPS [ # ... corsheaders, # ... ] 为了响应…...
Yolov10本地部署,torch找不到GPU问题解决
在本地部署跑Yolov10的模型.具体分为以下几步,也是踩了一些坑: 1.YoloV10 代码拉取 2.安装CUDA 1.查看CUDA支持版本 2.下载安装CUDA 3.下载CUDNN 3.创建python虚拟环境 Anaconda下载安装 虚拟环境安装配置 4.运行 1.yoloV10代码拉取 源码地址: GitHub - THU-MIG/yolov10: YOLO…...
el-upload 上传文件 入参格式为form-data格式,入参字段为code、name、type、file(文件)的形式,如何实现?
el-upload 是 Element UI 中用于文件上传的组件。如果你需要上传文件并将其封装为 form-data 格式,并且包含字段如 code、name、type 和 file,你可以通过自定义 before-upload 或 action 进行处理。 1. el-upload 的基本用法 Element UI 的 el-upload …...
VUE组件插槽使用示例,弹窗样式
在Vue.js中,插槽(slots)是一种非常强大的功能,它允许你在父组件中向子组件传递内容。插槽主要有三种类型:默认插槽、具名插槽和作用域插槽。下面是一些示例来展示如何使用这些插槽。 默认插槽 默认插槽是最简单的插槽…...
ARM嵌入式学习--第八天(PWM)
PWM -PWM介绍 PWM(pulse Width Modulation)简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量,通信,工控等方面 PWM的频率 是指在1秒钟内,信号从…...
新能源汽车大屏可视化第三次数据存储
任务: 将数据存放到temp.csv 链接: 1.排行页面 https://www.dongchedi.com/sales 2.参数页面 https://www.dongchedi.com/auto/params-carIds-x-9824 完善打印: 1. [{‘series_id’: 5952, ‘series_name’: ‘海鸥’, ‘image’: ‘https://…...
linux 替换yum源镜像
1. 备份源镜像 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2. 下载国内镜像阿里云 如果没有wget可以用curl 代替 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 清华大学 sudo wget -…...
SAP:如何修改已释放的请求
SAP:如何修改已释放的请求 QQ出了一个新功能,把10年前的旧日志推给自己。这个10年前的日志,是用户反映在SE10中把请求释放后发现漏了内容,想修改已释放的请求。经调查写了一个小程序,实现用户的需求。 *&-------------------…...
js的?. 和??和||有什么区别
let a 0; let b null; let c Hello;console.log(a ?? default); // 0 console.log(b ?? default); // "default" console.log(c ?? default); // "Hello"console.log(a || default); // "default" (因为 0 是假值) console.log(b |…...
clickhouse 分布式表创建、增加、更新、删除、查询
创建分布式表 --先创建本地表 设置自动过期时间3天 CREATE TABLE IF NOT EXISTS ck_database.ck_databaseon cluster default(cluster name) (table_id String COMMENT id,item_id String COMMENT 业务id,desc Int64 COMMENT 描述,time DateTime DEFAULT now() COMMENT 数据…...
推送本地仓库到远程git仓库
目录 推送本地仓库到远程git仓库1.1修改本地仓库用户名1.2 push 命令1.3远程分支查看 推送本地仓库到远程git仓库 删除之前的仓库中的所有内容,从新建库,同时创建一个 A.txt 文件 清空原有的远程仓库内容,重新创建一个新的仓库,…...
LSTM长短期记忆网络
LSTM(长短期记忆网络)数学原理 LSTM(Long Short-Term Memory)是一种特殊的递归神经网络(RNN),解决了标准RNN中存在的梯度消失(Vanishing Gradient) 和**梯度爆炸&#x…...
ABAP SQL 取日期+时间最新的一条数据
我们在系统对接的时候,外部系统可能会推送多个数据给到我们。 我们 SAP 系统的表数据中日期和时间是作为主键的,那么如果通过 ABAP SQL 取到最新日期的最新时间呢。 解决方案: 方式 1:SELECT MAX 可以通过两个 SELECT MAX 来取…...
SAST静态应用安全测试常见的编码规则
行业优先级难易度标准标准名称数量 军工12易GJB 5369:2005GJB_5369(国家军用标准航天型号软件C语言可靠性编程规范)138军工行业最早的C语言编码标准,强制性4易GJB 8114:2013GJB_8114(国家军用标准C/C语言可靠性编程规范ÿ…...
AI相关专业名词汇总解释
1.SFT Supervised fine-tuning,“有监督微调”意味着使用有标签的数据来调整一个已预训练好的语言模型(LLM),使其更适应某一特定任务。通常LLM的预训练是无监督的,但微调过程往往是有监督的。 详解:https:/…...
【C语言】指针数组和数组指针
前言 指针数组和数组指针是C语言中经常混淆的两个概念,虽然他们的名字相似,但其含义却完全不同。 指针数组 指针数组本质是一个数组,特点是数组中的元素均为指针,其定义形式为: 数据类型 *指针名[长度] 例如 int *…...
联邦学习中:公共物品属性的一般定义
在经济学和相关领域中,公共物品属性具有特定的含义,在论文中与联邦学习数据交易等情境相关联时,其意义如下: 公共物品属性的一般定义 非排他性 公共物品一旦被提供,很难或不可能排除其他人使用。例如,路灯照亮了街道,一个人使用路灯照明并不会阻止其他人同时使用,无法…...
前端的Python应用指南(一):快速构建 Web 服务器 - Flask vs Node.js 对比
随着前端开发技术的不断发展,前端开发者的技术栈也在不断扩展。如今,前端开发者不仅要掌握 HTML、CSS、JavaScript,还要掌握后端技术,成为全栈开发者。而在后端技术的选择上,Python 和 Node.js 是两种非常流行的选择。…...
典型案例 | 旧PC新蜕变!东北师范大学依托麒麟信安云“旧物焕新生”
东北师范大学始建于1946年,坐落于吉林省长春市,是中国共产党在东北地区创建的第一所综合性大学。作为国家“双一流”建设高校,学校高度重视教学改革和科技创新,校园信息化建设工作始终走在前列。基于麒麟信安云,东北师…...
【UE5】pmx导入UE5,套动作。(防止“气球人”现象。
参考视频:UE5Animation 16: MMD模型與動作導入 (繁中自動字幕) 问题所在: 做法记录(自用) 1.导入pmx,删除这两个。 2.转换给blender,清理节点。 3.导出时,内嵌贴图,选“复制”。 …...
ROS+PX4+Gazebo仿真环境配置全流程解析
上一期文章介绍了我们即将发布的仿真平台,并提到后续需要在Ubuntu系统上进行PX4软件在环仿真。本期文章将为大家详细介绍如何配置Ubuntu环境以及安装ROS和PX4仿真环境。具体配置包括:Ubuntu 20.04 ROS Noetic PX4 Python3。 需要注意的是,…...
STM32F103单片机HAL库串口通信卡死问题解决方法
在上篇文章 STM32F103单片机使用STM32CubeMX创建IAR串口工程 中分享了使用cubeMX直接生成串口代码的方法,在测试的过程中无意间发现,串口会出现卡死的问题。 当串口一次性发送十几个数据的时候,串口感觉像卡死了一样,不再接收数据…...
基于微信小程序的电影院订票选座系统ssm+论文源码调试讲解
第2章 开发环境与技术 本章节对开发基于微信小程序的电影院订票选座系统需要搭建的开发环境,还有基于微信小程序的电影院订票选座系统开发中使用的编程技术等进行阐述。 2.1 Java语言 Java语言是当今为止依然在编程语言行业具有生命力的常青树之一。Java语言最原始…...
解决新安装CentOS 7系统mirrorlist.centos.org can‘t resolve问题
原因 mirrorlist.centos.org yum源用不了 解决办法就是 # cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo_bak # vim CentOS-Base.repoCentOS系统操作 # mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/*.repo_bak # curl -o /etc/yum.repos.d/CentOS-Linux-Ba…...
分布式系统架构3:服务容错
这是小卷对分布式系统架构学习的第3篇文章,虽然知道大家都不喜欢看纯技术文章,写了也没多少阅读量,但是个人要成长的话,还是需要往深一点的技术上去探索的 1.为什么需要容错 分布式系统的本质是不可靠的,一个大的服务…...
鸿蒙项目云捐助第十四讲云函数的初步使用
鸿蒙项目云捐助第十四讲云函数的初步使用 在开发项目的过程中,云端充分利用已成为一种驱势。云监控,云运维,云开发,云办公等等软件层出不穷,本地软件云端化也成为一种潮流。在这股大潮中,华为云也是独树一…...
【5G】5G的主要架构选项
最初,在3GPP讨论中考虑了所有可能的聚合和核心网络组合,共有八个架构选项。以下重点介绍option2、3、4和7。 1. 独立组网 (Standalone, SA) 架构选项 2 :Standalone architecture with 5G-core 特点: 5G核心网(5GC, …...
【Laravel】端口问题导致菜单打不开
以下是修改 Laravel 应用程序的端口配置, 修改环境变量 APP_URL 来实现 app/Providers/AppServiceProvider.php <?phpnamespace App\Providers;use Illuminate\Events\Dispatcher; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\URL…...
网络安全等级保护系统定级流程与示例
一、定级流程 安全保护等级初步确定为第二级及以上的等级保护对象,其运营使用单位应当依据《网络安全等级保护定级指南》进行初步定级、专家评审、主管部门审批、公安机关备案审查,最终确定其安全保护等级。 二、定级方法 等级保护对象的级别由两个定级…...
项目练习:若依-ruoyi系统的部署与运行(前后端分离版)
文章目录 一、我的环境二、代码下载三、数据库配置四、项目配置文件修改五、启动运行六、验证 一、我的环境 jdk:8 MySQL:5.7 Redis: nodejs:v16.13.2 npm:8.1.2 vue:5.0.8 开发工具 idea Navicat for MyS…...