Day02-ES集群常见术语,索引管理,文档管理,IK分词器,数据类型映射及kibana环境安装

Day02-ES集群常见术语,索引管理,文档管理,IK分词器,数据类型映射及kibana环境安装

  • 1、昨日内容回顾
  • 2、今日内容预告
  • 3、ES的常见术语
  • 4、索引管理
    • 4.1 查看索引
    • 4.2 创建索引
    • 4.3 修改索引
    • 4.4 删除索引
    • 4.5 索引别名
    • 4.6 关闭索引
    • 4.7 打开索引
    • 4.8 索引的其他操作
    • 4.9 索引规范
  • 5、Restful风格程序
  • 6、文档的基础操作
    • 6.1 创建文档
    • 6.2 文档修改
    • 6.3 文档的查看
    • 6.4 删除文档
    • 6.5 文档的批量操作
  • 7、使用映射(mapping)自定义数据类型
    • 7.1 映射的数据类型
    • 7.2 IP案例
    • 7.3 date案例
    • 7.4 综合案例
  • 8、分词器
    • 8.1 内置的标准分词器-分析英文
    • 8.2 内置的标准分词器-分析中文并不友好
    • 8.3 安装IK分词器
    • 8.4 自定义IK分词器的字典
  • 9、安装kibana集成ES集群

1、昨日内容回顾

  • 部署方式:

    • rpm:

      redhat , centos, suse

    • 二进制部署:

      大部分的Linux发行版。

  • linux的资源限制

    • 查看工具:
      ulimit
    • 配置文件

      /etc/security/limit.d/*.conf

  • 内核修改

    • 查看工具:
      sysctl -w|-p|-f|-q
    • 配置文件:

      /etc/sysctl.d/*.conf

  • 系统脚本

    • 管理工具
      systemctl
    • 配置文件

      systemctl cat es7

  • 排错技巧:

    • systemctl status es7 -l
    • journalctl -u es7
      - tail -100f $ES_HOME/logs/xxx.log
      • at
      • ERROR
  • 图形化工具

    • elasticsearch head:
      作为ES集群的客户端,发起请求。用户只需要在web界面做操作即可。
    • postman:

      作为ES集群的客户端,需要使用者发起http请求,一般用于http测试。

image-20240528085446957

2、今日内容预告

  • ES集群的常见术语

    • 索引
    • 分片
    • 副本
    • 文档
  • ES集群的API基础操作

  • DSL查询

  • ES原理篇

3、ES的常见术语

image-20240528095618856

  • 索引(index):

    • 用户写入ES集群的逻辑单元。
  • 分片(shard):

    • 一个索引最少一个分片。
    • 将索引的数据分布式的存储在ES集群。
  • 副本(replica):

    • 一个分片可以有0个或多个副本。
    • 为同一个分片数据提供数据冗余。
  • 文档(docment):

    • 实际存储数据的媒介。
    • 这些文档存储在分片中。
  • 主分片和副本分片的区别:

    • 主分片可以用于读写操作(rw)。
    • 副本分片仅能用于读取操作(ro)。
  • 集群的颜色:

    • green
      表示所有的主分片和副本分片均正常工作。
    • yellow
      表示有部分副本分片不正常工作。
    • red
      表示有部分主分片不正常工作。

4、索引管理

4.1 查看索引

(1)查看所有的索引

curl -X GET 10.0.0.101:9200/_cat/indices

(2)查看单个索引

curl -X GET 10.0.0.101:9200/oldboyedu-linux85-ip

4.2 创建索引

(1)创建默认索引,默认是一个分片和一个副本

curl -X PUT 10.0.0.101:9200/oldboyedu-linux85

(2)创建指定的分片

curl -XPUT 10.0.0.101:9200/oldboyedu-linux86
{"settings":{"number_of_shards": 3}
}

(3)创建指定的分片和副本

curl -XPUT 10.0.0.101:9200/oldboyedu-linux87-003
{"settings":{"number_of_shards": 5,"number_of_replicas":2}
}

4.3 修改索引

(1)修改副本

curl -XPUT 10.0.0.101:9200/oldboyedu-linux87-003/_settings
{"number_of_replicas": 1
}

(2)修改分片,不能修改

curl -XPUT 10.0.0.101:9200/oldboyedu-linux87-003/_settings
{"number_of_shards": 10
}

【文档写入哪个分片编号计算公式: hash(文档ID) % primary_shards_numbers】

4.4 删除索引

(1)删除单个索引

curl -XDELETE 10.0.0.101:9200/oldboyedu-linux87-003

(2)基于通配符删除多个索引

curl -XDELETE 10.0.0.101:9200/oldboyedu-linux87-*

4.5 索引别名

(1)添加索引别名

POST http://10.0.0.101:9200/_aliases
{"actions": [{"add": {"index": "oldboyedu-linux85","alias": "Linux2023"}},{"add": {"index": "oldboyedu-linux86","alias": "Linux2023"}},{"add": {"index": "oldboyedu-linux87","alias": "Linux2023"}}]
}

(2)查看索引别名

GET http://10.0.0.101:9200/_aliases

(3)删除索引别名

POST http://10.0.0.101:9200/_aliases
{"actions": [{"remove": {"index": "oldboyedu-linux87","alias": "Linux2023"}}]
}

(4)修改索引别名

POST http://10.0.0.101:9200/_aliases
{"actions": [{"remove": {"index": "oldboyedu-linux85","alias": "DBA"}},{"add": {"index": "oldboyedu-linux85","alias": "数据库运维工程师"}}]
}

4.6 关闭索引

POST 10.0.0.101:9200/oldboyedu-linux85/_close

4.7 打开索引

POST 10.0.0.101:9200/oldboyedu-linux85/_open

4.8 索引的其他操作

推荐阅读:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html

4.9 索引规范

索引名称不要以“.”开头,“_”开头;以“.”开头表示隐藏索引,“_”开头是系统保留的一些动作处理方法
索引名称不能出现大写,必须小写;
生产环境中禁令避免使用通配符,尤其是删除操作;

5、Restful风格程序

https://www.oldboyedu.com/stadent/1001GET :https://www.oldboyedu.com/stadent/view_1001https://www.oldboyedu.com/stadent/get_1001POST:https://www.oldboyedu.com/stadent/create_1001https://www.oldboyedu.com/stadent/write_1001https://www.oldboyedu.com/stadent/add_1001PUT:https://www.oldboyedu.com/stadent/modify_1001https://www.oldboyedu.com/stadent/update_1001DELTE:https://www.oldboyedu.com/stadent/del_1001https://www.oldboyedu.com/stadent/delete_1001https://www.oldboyedu.com/stadent/remove_1001

RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。
REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。
REST首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。

JSON语法:基础数据类型:字符串:"oldboyedu""老男孩IT教育""2022"""数字:012...布尔值:truefalse空值:null高级数据类型:数组:["oldboyedu","沙河",2022,null,true,{"school":"oldboyedu","class":"linux80"}]对象:{"name":"oldboy", "age":40, "address":"北京沙河", "hobby":["Linux","思想课"],"other":null}课堂练习:使用json格式记录你的名字(name),年龄(age),学校(school),爱好(hobby),地址(address)

6、文档的基础操作

6.1 创建文档

1)不指定文档ID

POST 10.0.0.101:9200/oldboyedu-linux85-student/_doc
{"name": "李文轩","hobby": ["吃鸡","丝袜","rap"]
}

2)指定文档ID

POST 10.0.0.101:9200/oldboyedu-linux85-student/_doc/1001
{"name": "彭斌北京分斌","hobby": ["浏览网站","小电影","熬夜"]
}

6.2 文档修改

1)全量更新

POST 10.0.0.101:9200/oldboyedu-linux85-student/_doc/YhF3SocBX1qpvxZ-PePd
{"name": "李文轩2023"
}

2)局部更新

POST 10.0.0.101:9200/oldboyedu-linux85-student/_doc/1001/_update
{"doc":{"age":20,"hobby":["抽烟","喝酒","烫头"]}
}

6.3 文档的查看

GET 10.0.0.101:9200/oldboyedu-linux85-student/_search

6.4 删除文档

DELTE 10.0.0.101:9200/oldboyedu-linux85-student/_doc/1001

6.5 文档的批量操作

(1)批量创建

POST 10.0.0.101:9200/_bulk
{ "create": { "_index": "oldboyedu-linux85-elk"} }
{ "name": "oldboy","hobby":["Linux","思想课"] }
{ "create": { "_index": "oldboyedu-linux85-elk","_id": 1002} }
{ "name": "振亚老师","hobby":["妹子","吃面"] }
{ "create": { "_index": "oldboyedu-linux85-elk","_id": 1001} }
{ "name": "苍老师","hobby":["家庭主妇"] }
{ "create": { "_index": "oldboyedu-linux85-elk"} }
{ "name": "李导","hobby":["骑车","拍小电影"] }

(2)批量修改

POST 10.0.0.101:9200/_bulk
{ "update" : {"_id" : "1001", "_index" : "oldboyedu-linux85-elk"} }
{ "doc" : {"name" : "CangLaoShi"} }
{ "update" : {"_id" : "1002", "_index" : "oldboyedu-linux85-elk"} }
{ "doc" : {"name" : "ZhenYaTeacher"} }

(3)查询文档

POST 10.0.0.101:9200/_mget
{"docs": [{"_index": "oldboyedu-linux85-elk","_id": "1001"},{"_index": "oldboyedu-linux85-elk","_id": "1002"}]
} 

(4)批量删除

POST 10.0.0.101:9200/_bulk
{ "delete" : { "_index" : "oldboyedu-linux85-elk", "_id" : "1001" } }
{ "delete" : { "_index" : "oldboyedu-linux85-elk", "_id" : "1002" } }

课堂练习

  • 将各组的组员信息写入到ES集群,各组员需要包含以下基础信息
    • name
    • age
    • hobby
    • city

7、使用映射(mapping)自定义数据类型

7.1 映射的数据类型

image-20240528145922558

当写入文档时,字段的数据类型会被ES动态自动创建,但有的时候动态创建的类型并符合我们的需求。这个时候就可以使用映射解决。使用映射技术,可以对ES文档的字段类型提前定义我们期望的数据类型,便于后期的处理和搜索.text:全文检索,可以被全文匹配,即该字段是可以被拆分的。keyword:精确匹配,必须和内容完全匹配,才能被查询出来。ip:支持Ipv4和Ipv6,将来可以对该字段类型进行IP地址范围搜索参考链接:
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping.html
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-types.html

7.2 IP案例

(1)创建索引时指定映射关系

PUT http://10.0.0.101:9200/oldboyedu-linux85-ip
{"mappings": {"properties": {"ip_addr": {"type": "ip"}}},"settings": {"number_of_shards":3,"number_of_replicas":0}
}

(2)查看索引的映射关系

GET http://10.0.0.101:9200/oldboyedu-linux85-ip

(3)创建测试数据

POST 10.0.0.101:9200/_bulk
{ "create": { "_index": "oldboyedu-linux85-ip"} }
{ "ip_addr":"192.168.10.101" }
{ "create": { "_index": "oldboyedu-linux85-ip"} }
{ "ip_addr":"192.168.10.201" }
{ "create": { "_index": "oldboyedu-linux85-ip"} }
{ "ip_addr":"172.31.10.100" }
{ "create": { "_index": "oldboyedu-linux85-ip"} }
{ "ip_addr":"10.0.0.222" }

(4)查看IP的网段

GET/POST 10.0.0.101:9200/oldboyedu-linux85-ip/_search
{"query":{"match":{"ip_addr": "192.168.0.0/16"}}
}

7.3 date案例

(1)创建索引时指定映射关系

PUT http://10.0.0.101:9200/oldboyedu-linux85-date
{"mappings": {"properties": {"birthday": {"type":   "date","format": "yyyy-MM-dd"}}}
}

(2)查看索引的映射关系

GET http://10.0.0.101:9200/oldboyedu-linux85-date

(3)创建测试数据

POST 10.0.0.101:9200/_bulk
{ "create": { "_index": "oldboyedu-linux85-date"} }
{ "name": "oldboy","birthday": "1991-10-01" }
{ "create": { "_index": "oldboyedu-linux85-date"} }
{ "name": "李导","birthday": "2003-05-01" }
{ "create": { "_index": "oldboyedu-linux85-date"} }
{ "name": "振亚","birthday": "1996-05-01" }

(4)查看年龄,从大到小(注意,比较的是数字,数字大的在下面)

GET/POST 10.0.0.101:9200/oldboyedu-linux85-date/_search
{"sort": { "birthday": "asc"} 
}

7.4 综合案例

(1)创建索引

PUT http://10.0.0.101:9200/oldboyedu-linux85-elk-2023

(2)查看索引信息

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023

(3)为已创建的索引修改数据类型

PUT http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_mapping
{"properties": {"name": {"type": "text","index": true},"gender": {"type": "keyword","index": true},"province": {"type": "keyword","index": true},"city": {"type": "keyword","index": false},"email": {"type": "keyword"},"ip_addr": {"type": "ip"},"birthday": {"type":   "date","format": "yyyy-MM-dd"}}
}

(4)添加测试数据

POST http://10.0.0.101:9200/_bulk
{ "create": { "_index": "oldboyedu-linux85-elk-2023"}}
{ "name": "吴明昆","gender":"男性的","telephone":"1111111111","province":"广西","city":"北海市","email":"wumingkun@oldboyedu.com","ip_addr":"192.168.25.201","birthday":"1999-04-05"}
{ "create": { "_index": "oldboyedu-linux85-elk-2023"}}
{ "name": "蒋相宇","gender":"女性的","telephone":"222222222","province":"河南","city":"濮阳市","email":"jiangxiangyu@oldboyedu.com","ip_addr":"192.168.15.31","birthday":"2003-09-05","hobby":["抽烟","喝酒","烫头","足疗"]}

(5)查看数据-基于gender-匹配keyword类型

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_search
{"query":{"match":{"gender": "女"}}
}

(6)查看数据-基于name字段搜索-匹配text类型

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_search
{"query":{"match":{"name": "吴"}}
}

(7)查看数据-基于email字段搜索-匹配keyword类型

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_search
{"query":{"match":{"email": "jiangxiangyu@oldboyedu.com"}}
}

(8)查看数据-基于ip_addr字段搜索-匹配ip类型

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_search
{"query": {"match" : {"ip_addr": "192.168.15.0/24"}}
}

(9)查看数据-基于city字段搜索,无法完成,该字段无法被检索

GET http://10.0.0.101:9200/oldboyedu-linux85-elk-2023/_search
{"query":{"match":{"city": "濮阳市"}}
}

8、分词器

8.1 内置的标准分词器-分析英文

GET http://10.0.0.101:9200/_analyze
{"analyzer": "standard","text": "My name is Jason Yin,  and I'm 18 years old !"
}温馨提示:标准分词器模式使用空格和符号进行切割分词的。

8.2 内置的标准分词器-分析中文并不友好

GET http://10.0.0.101:9200/_analyze
{"analyzer": "standard","text": "我爱北京天安门!"
}温馨提示:标准分词器默认使用单个汉字进行切割,很明显,并不符合我们国内的使用习惯。

8.3 安装IK分词器

1)创建IK分词器目录

mkdir /oldboyedu/softwares/es7/elasticsearch-7.17.5/plugins/ik

2)解压软件包

cd /oldboyedu/softwares/es7/elasticsearch-7.17.5/plugins/ik
wget http://192.168.15.253/ElasticStack/day02/softwares/elasticsearch-analysis-ik-7.17.5.zipunzip elasticsearch-analysis-ik-7.17.5.zip 
rm -f elasticsearch-analysis-ik-7.17.5.zip	

3)重启服务

systemctl restart es7

4)测试IK中文分词器

  • 测试IK中文分词器-细粒度拆分
GET http://10.0.0.101:9200/_analyze
{"analyzer": "ik_max_word","text": "我爱北京天安门!"
}	
  • 测试IK中文分词器-粗粒度拆分
GET http://10.0.0.101:9200/_analyze
{"analyzer": "ik_smart","text": "我爱北京天安门!"
}

8.4 自定义IK分词器的字典

(1)进入到IK分词器的插件安装目录

cd /oldboyedu/softwares/es/plugins/ik/config

(2)自定义字典

cat > oldboyedu-linux85.dic <<'EOF'
德玛西亚
艾欧尼亚
亚索
上号
带你飞
贼6
EOF

(3)加载自定义字典

vim IKAnalyzer.cfg.xml
...
<entry key="ext_dict">oldboyedu-linux85.dic</entry>

(4)重启ES集群

systemctl restart es7

(5)测试分词器

GET http://10.0.0.101:9200/_analyze 
{"analyzer": "ik_smart","text": "嗨,哥们! 上号,我德玛西亚和艾欧尼亚都有号! 我亚索贼6,肯定能带你飞!!!"
}

9、安装kibana集成ES集群

(1)下载软件包

wget http://192.168.15.253/ElasticStack/day02/softwares/kibana-7.17.5-x86_64.rpm

(2)安装kibana

	rpm -ivh kibana-7.17.5-x86_64.rpm

(3)修改kibana配置文件

vim /etc/kibana/kibana.yml 
...
# 指定kibana监听的主机地址,默认是localhost。
server.host: "0.0.0.0"# 指定kibana连接ES集群地址
elasticsearch.hosts: ["http://10.0.0.101:9200","http://10.0.0.102:9200","http://10.0.0.103:9200"]# 指定kibana的界面为中文简体,默认是英文。
i18n.locale: "zh-CN"

(4)启动kibana

systemctl enable --now kibana

(5)访问kibana界面

http://10.0.0.103:5601/

今日作业:

(1)完成课堂练习并整理思维导图;

(2)各组收集商品10条信息,对应6中不同类型的商品,要求字段如下:

- item: text代表的是商品的连接。
- title: text代表商品的标题。
- price: double代表商品的价格。
- type: keyword代表商品的类型。- dianZiProducts电子产品- chengRenProducts成人用品- sheChiProducts奢侈品- foodProducts食品- bookProducts书籍- carProducts汽车用品
- group: long代表的组名称。可选择为[1-6]
- auther: text代表采集数据的姓名。
- birthday: date代表作者的出生年月日。
- province: keyword代表的是省份。
- city: keyword代表的是城市。
- remote_ip: ip代表商品的连接服务器IP地址。

初始化:

PUT http://10.0.0.101:9200/oldboyedu-linux85-shopping
{"mappings": {"properties": {"item": {"type": "text"},"title": {"type": "text"},"price": {"type": "double"},"type": {"type": "keyword"},"group": {"type": "long"},"auther": {"type": "text"},"birthday": {"type": "date","format": "yyyy-MM-dd"},"province": {"type": "keyword"},"city": {"type": "keyword"},"remote_ip": {"type": "ip"}}}
}

添加一条测试数据:

{ "create": { "_index": "oldboyedu-linux85-shopping"}}
{"item":"https://item.jd.com/100021537415.html","title":"大疆 DJI Mini 3 Pro (DJI RC 带屏遥控器版) Pro 级迷你航拍机 智能跟随飞行器 专业无损竖拍 大疆无人机","price":5788.00,"type":"electronic product","group":1,"auther":"王磊","birthday":"2000-02-07","province":"河南","city":"洛阳","remote_ip":"211.144.24.221"}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# AGV小车通讯开发的方法

AGV (Automated Guided Vehicle) 小车的通讯开发通常涉及与AGV控制系统或调度系统的数据交换。在C#中实现AGV小车通讯&#xff0c;可以采用多种方法&#xff0c;具体取决于AGV的通信协议和硬件接口。以下是一些常用的开发方法&#xff1a; 1. 串行通讯 (Serial Communication)…

FakeNewsGPT4:通过知识增强的大规模视觉语言模型推进多模态假新闻检测

FakeNewsGPT4: Advancing Multimodal Fake News Detection through Knowledge-Augmented LVLMs 1.概述 当前,多模态假新闻的大量涌现导致了显著的分布差异,这一现状亟需我们开发具备广泛适用性的检测器。然而,现有假新闻检测器因特定领域内的训练方式,难以有效获取开放世…

<数据集>Udacity交通目标识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;13239张&#xff08;实际有15000张&#xff0c;但其中1761张无标签的图片被我去除掉&#xff09; 标注数量(xml文件个数)&#xff1a;13239 标注数量(txt文件个数)&#xff1a;13239 标注类别数&#xff1a;11 标注…

护网--1

实验要求&#xff1a; 实现过程&#xff1a; &#xff08;一&#xff09;配置防火墙接口&#xff1a; 在防火墙上创建两个子接口&#xff1a;1/0/1.1 1/0/1.2 在浏览器上用视图界面配置接口&#xff1a; 到服务器&#xff1a; 到生产区&#xff1a; 到办公区&#xff1a; 到…

离线下载linux mysql和mysql基本库

下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 选择数据库版本&#xff0c;系统&#xff0c;系统版本信息 下载需要的rpm包&#xff0c;传入服务器&#xff0c;使用yum install xxx.rpm安装即可 mysql-community下载地址 https://dev.mysql.com/downloads/my…

专业无线麦克风品牌排行榜,无线麦克风哪个品牌音质最好

在数字化的浪潮中&#xff0c;个人创作与表达的舞台日益宽广。无论是专业的影像工匠、热情四溢的播客主播&#xff0c;亦或是生活点滴的记录者——Vlogger&#xff0c;一套卓越的音频装备是确保声音纯净、无瑕传递给观众的基石。无线领夹麦克风凭借其携带方便、操作简便以及卓越…

ai写作软件哪个好?亲测好用的5款工具分享

一眨眼&#xff0c;初伏就要到来了~办公室内的高温仿佛连空气都凝固了&#xff0c;键盘敲击声似乎都变得沉重而迟缓。在这样的天气下&#xff0c;创意与灵感似乎也躲进了阴凉处&#xff0c;办公效率显然大打折扣。 幸运的是&#xff0c;被我找到了新的应对之策&#xff0c;那便…

LINUX高级编程part2

var 123&#xff1b; echo &var 》 终端会自动打印出var的赋值即 123&#xff1b; shell变量&#xff1a; 环境变量 // 位置变量 //自定义变量 环境变量&#xff1a;&#xff08;env&#xff09; 环境指的是操作系统的环境。 env 会打印当前操作系统的所有环…

顺序表的应用之通讯录专题

顺序表的应用 1.基于动态顺序表实现通讯录&#xff1a; C语言基础要求&#xff1a; 结构体&#xff0c;动态内存管理&#xff0c;顺序表&#xff0c;文件操作 1.功能要求 1)至少能够存储100个人的通讯信息2)能够保存用户信息:名字、性别、年龄、电话、地址等3)增加联系人…

FastAPI 学习之路(四十七)WebSockets(三)登录后才可以聊天

之前我们是通过前端自动生成的token信息&#xff0c;这次我们通过注册登录&#xff0c;保存到本地去实现。首先&#xff0c;我们实现一个登录页面&#xff0c;放在templates目录下。 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

PHP单商户微店b2c商城微信小程序系统源码

打造专属线上购物空间&#x1f6cd;️ &#x1f680;【开篇&#xff1a;解锁新零售时代新风尚】&#x1f680; 在这个数字化飞速发展的时代&#xff0c;线上购物已成为我们日常生活不可或缺的一部分。对于单商户而言&#xff0c;拥有一个专属的B2C商城微信小程序&#xff0c;…

SHAP(SHapley Additive exPlanations)算法

SHAP&#xff08;SHapley Additive exPlanations&#xff09;算法是一种用于解释机器学习模型的方法&#xff0c;它基于博弈论中的 Shapley 值。 Shapley 值原本用于解决合作博弈中参与者对总收益贡献的分配问题。SHAP 算法将每个特征值对模型输出的贡献视为一种“公平”的分配…

【番外】Springboot集成推荐配置及十问RocketMQ

文章目录 Springboot推荐配置方式十问1. 为什么springboot系统集成只有一个producer&#xff0c;并集成到RocketMQTemplate里面&#xff1f;2. 为什么consumer必须要再额外使用一个MessageListener来处理消息&#xff1f;3. 一个系统只用一个producer和consumer可不可行&#x…

非堆成加密SM2算法java实现

基于SM2算法的Java示例代码&#xff0c;展示了如何进行公钥加密、私钥解密、私钥签名和公钥验签。 非堆成加密公私钥使用学习请查看&#xff1a;非堆成加密公私钥使用-CSDN博客 RSA算法&#xff1a;非堆成加密RSA算法java实现-CSDN博客 代码示例 展示了以下步骤&#xff1a…

Xcode打包与发布全攻略:将你的应用带上App Store

标题&#xff1a;Xcode打包与发布全攻略&#xff1a;将你的应用带上App Store 在应用开发旅程的最后阶段&#xff0c;打包和发布流程是将应用呈现给用户的关键步骤。Xcode&#xff0c;作为iOS和macOS应用开发的官方工具&#xff0c;提供了一套完整的打包和发布机制。本文将详细…

图形化编程题库:Scratch图形化编程1~4真题及答案汇总

图形化编程题库全面覆盖Scratch编程学习&#xff0c;精心整理了从基础到进阶的1~4级真题及详尽答案汇总。无论您是Scratch编程初学者还是寻求提升的练习者&#xff0c;这里都能找到丰富的练习题资源&#xff0c;助力您通过实战加深理解&#xff0c;掌握图形化编程的精髓与技巧。…

Centos7 yum 报错「Errno 256」No more mirrors to try 解决方法

解决方案大致有三种 一、更新yum 二、若不行&#xff0c;可能是因为DNS不稳定吧&#xff0c;因为yum安装时会从三个”repo源“&#xff08;base&#xff0c;extras&#xff0c;updates&#xff09;随机获取地址 三、分析总结法 背景 我使用yum方式安装软件时&#xff0c;比…

在Qt C++项目中调用7z API实现压缩和解压

文章目录 在Qt C++项目中调用7z API实现压缩和解压前置条件步骤一:配置7z库下载7z源码编译7z库步骤二:在Qt项目中集成7z库创建Qt项目配置.pro文件添加7z头文件步骤三:实现压缩功能创建压缩函数调用压缩函数步骤四:实现解压功能创建解压函数调用解压函数结论参考Win11下编译…

如何高效去除论文中的AI痕迹?AI助手在此,为你指点迷津

试试这四款AI论文工具和降重技术&#xff01; 在科研领域&#xff0c;AI写作工具如同新一代的科研利器&#xff0c;它们能够极大提高文献查阅、思路整理和表达优化的效率&#xff0c;本质上促进了科研工作的进步。AI写作工具不仅快速获取并整理海量信息&#xff0c;还帮助我们…

C++心决之stl中那些你不知道的秘密(string篇)

目录 1. 为什么学习string类&#xff1f; 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的操作 3.vs和g下string结构的说明 3. string类的模拟实现 3.2 浅拷贝 3.3 深拷贝 3.4 写…