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

news2024/9/24 3:19:23

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/1001
	GET :
			https://www.oldboyedu.com/stadent/view_1001
			https://www.oldboyedu.com/stadent/get_1001
	POST:
			https://www.oldboyedu.com/stadent/create_1001
			https://www.oldboyedu.com/stadent/write_1001
			https://www.oldboyedu.com/stadent/add_1001
	PUT:
			https://www.oldboyedu.com/stadent/modify_1001
			https://www.oldboyedu.com/stadent/update_1001
	DELTE:
			https://www.oldboyedu.com/stadent/del_1001
			https://www.oldboyedu.com/stadent/delete_1001
			https://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"
			""
        数字:
        	0
        	1
        	2
        	...
        布尔值:
        	true
        	false
        空值:
        	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.zip

unzip 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.coloradmin.cn/o/1921018.html

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

相关文章

【Tomcat目录详解】关于Tomcat你还需要了解的详细内容

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Tomcat的文件结构2.1 bin目录2.1.1 startup和shutdown2.1.2 Catalina2.1.3 serv…

我们水冷使制动电阻功率密度成倍增加-水冷电阻设计工厂

先进陶瓷 我们后来发现工业应用中对占用空间最小的水冷电阻器的工业需求&#xff0c;推出了适用于中压工业应用的水冷电阻器。它的特点是两块由具有特殊性能的先进陶瓷制成的板。 使用工业电驱动装置的一个重要好处是&#xff0c;可靠的再生和动态制动系统可以补充或取代传统…

Unity 中使用状态机模式来管理UI

1. 清晰的状态管理 状态机模式允许你以结构化的方式管理不同的UI状态。每个状态&#xff08;比如主菜单、设置菜单、游戏中界面等&#xff09;都有其独立的行为和属性&#xff0c;这使得管理复杂UI逻辑变得更加清晰和可维护。 2. 简化的状态切换 状态机模式可以简化不同UI状…

Javaweb11-Filter过滤器

Filter过滤器 1.Filter的基本概念&#xff1a; 在Java Servlet中&#xff0c;Filter接口是用来处理HttpServletRequest和HttpServletResponse的对象的过滤器。主要用途是在请求到达Servlet之前或者响应离开Servlet之前对请求或响应进行预处理或后处理。 2.Filter常见的API F…

Python使用策略模式和openpyxl库创建Excel文件并追加内容

from openpyxl import load_workbook# 数据数组 data [[1, 2, 3],[4, 5, 6],[7, 8, 9] ]# 打开现有的 Excel 文件 excel_file sheetApend_example.xlsx wb load_workbook(excel_file)# 选择要追加数据的工作表 sheet_name test_Sheet2 # 指定要追加数据的工作表名称 sheet…

【微服务】SpringCloud-eureka光速入门

SpringCloud-eureka光速入门 一、Eureka 主要组件 二、工作流程 三、优势 四、Eureka-光速入门【重点】 4.1 案例准备 4.1.1 创建父工程 tingyi-shop 4.1.2 创建子工程 tingyi-goods 4.1.3 创建子工程 tingyi-order 4.1.4 案例调整 4.1.4.1 在order模块创建 RestTemp…

安装和使用vue-router

1.安装vue-router npm install vue-router2.新建页面 views > home > home.vue <script setup lang"ts"></script><template><div>首页</div> </template><style scoped></style>2.配置路由 router > i…

从LLM中完全消除矩阵乘法,效果出奇得好,10亿参数跑在FPGA上接近大脑功耗

一直以来&#xff0c;矩阵乘法&#xff08;MatMul&#xff09;稳居神经网络操作的主导地位&#xff0c;其中很大原因归结为 GPU 专门针对 MatMul 操作进行了优化。这种优化使得 AlexNet 在 ILSVRC2012 挑战赛中一举胜出&#xff0c;成为深度学习崛起的历史性标志。 在这当中&a…

HBase 在统一内容平台业务的优化实践

作者&#xff1a;来自 vivo 互联网服务器团队-Leng Jianyu、Huang Haitao HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库&#xff0c;本文围绕数据库选型以及使用HBase的痛点展开&#xff0c;从四个方面对HBase的使用进行优化&#xff0c;取得了一些…

PG 逻辑备份

导出模式&#xff1a; ph_dump 只能备份单个数据库&#xff0c;不会导出角色和表空间相关的信息&#xff0c;而且恢 复的时候需要创建空数据库。 pg_dumpall 可以备份所有数据库&#xff0c;并且备份角色&#xff0c;表空间。 调用pg_dump&#xff1a; 逻辑恢复的恢复顺序&…

国漫推荐07

玄幻、奇幻 1.侠岚系列 《侠岚》&#xff08;第1至6季&#xff09; 《画江湖之侠岚》&#xff08;侠岚第7季&#xff09; 2.《斗破苍穹》 三十年河东&#xff0c;三十年河西&#xff0c;莫欺少年穷&#xff01; 3.《武动乾坤》&#xff08;第1至4季&#xff09; 4.《妖神记》…

热点观察 丨《绝区零》下载量突破5000万、中国厂商占领全球手游收入榜

7月第2周.热点趋势 1. 《绝区零》全球下载量突破5000万 2. 《Character AI》爆火后内容管控变严 3. 芬兰手游厂商Supercell宣布开发新游戏 4. 6月全球手游收入榜中国厂商前十占六 5. 韩版《贪吃蛇大冒险》6月下载亮眼 6. 苹果、三星加入AI手机大战 7. 麦当劳推出首部短剧…

STM32智能仓储管理系统教程

目录 引言环境准备晶智能仓储管理系统基础代码实现&#xff1a;实现智能仓储管理系统 4.1 数据采集模块 4.2 数据处理与决策模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;仓储管理与优化问题解决方案与优化收尾与总结 1. 引言 智能仓储管理系统…

物流智能锁在物流货运智能锁控管理中的应用

一、物流锁控管理的痛点剖析 &#xff08;一&#xff09;货物安全风险高 在传统的物流运输中&#xff0c;常用的机械锁和普通电子锁安全性有限&#xff0c;容易被非法破解或撬开。据不完全统计&#xff0c;每年因货物被盗造成的经济损失高达数十亿。这导致货物在运输途中面临…

IDEA设置代码提示忽略大小写

一、设置代码提示为忽略大小写 IDEA代码提示默认是区分大小写的&#xff0c;设置为提示忽略大小写&#xff1a; Setting——Editor——Code Completion 如图

vue vite+three在线编辑模型导入导出

文章目录 序一、1.0.0版本1.新增2.编辑3.导出4.导入 二、2.0.0版本1. 修复模型垂直方向放置时 模型会重合4. 修复了导出导入功能 现在是1:1导出导入5. 新增一个地面 视角看不到地下 设置了禁止编辑地面 地面设置为圆形6. 新增功能 可选择基本圆形 方形 圆柱形等模型以及可放置自…

每天五分钟深度学习:向量化技术在神经网络中的应用

本文重点 向量化技术,简而言之,就是利用矩阵运算(而非传统的for循环)来执行大规模的计算任务。这种技术依赖于单指令多数据(SIMD)架构,允许一个指令同时对多个数据元素执行相同的操作。例如,在向量化加法中,不再需要逐个元素进行加法操作,而是可以一次性对整个向量执…

防御课第一次作业第一天笔记整理

网络安全概述 网络安全&#xff08;Cyber Security&#xff09;是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而遭受到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断 中国网络安全市场近年来只增不…

【微信小程序知识点】自定义构建npm

在实际开发中&#xff0c;随着项目的功能越来越多&#xff0c;项目越来越复杂&#xff0c;文件目录也变得很繁琐&#xff0c;为了方便进行项目的开发&#xff0c;开发人员通常会对目录结构进行优化调整&#xff0c;例如&#xff1a;将小程序源码放到miniprogram目录下。 &…

探索最佳海外代理服务商!你知道哪些?

近期收到很多读者回复&#xff0c;咨询我有没有好用的海外代理&#xff0c;许多业务会用到海外代理&#xff0c;给大家整理了几个亲测好用的代理&#xff0c;如果有需要可以去试一试。 一、711Proxy 711Proxy的覆盖范围广&#xff0c;住宅IP质量高&#xff0c;基本上爬虫业务…