es简单入门

在这里插入图片描述
                       星光下的赶路人star的个人主页

                      努力努力再努力

文章目录

    • 1、简介
    • 2、使用场景
    • 3、基本知识
    • 4、中文文档和官网链接
    • 5、增删改查(php代码)
    • 6、基本查询
    • 7、HTTP操作
      • 7.1 索引操作
        • 7.1.1 创建索引
      • 7.2 文档操作
        • 7.2.1 创建文档
        • 7.2.2 查看文档
        • 7.2.3 修改文档
        • 7.2.4 修改字段
        • 7.2.5 删除文档
        • 7.2.6 条件删除文档
      • 7.3 映射操作
      • 7.4 高级查询

1、简介

elasticsearch是一个开源的分布式搜索引擎,能够快速地处理大量数据,并能够实时查询,可广泛应用于实时数据分析、日志分析、企业信息发现等领域。elasticsearch提供的数据聚合功能能够变革我们对数据分析和业务理解的认识,除了实现基础的搜索外,还可以将多种聚合方式应用到搜索结果中,为我们提供有效的数据支持。elasticsearch还具备诸多便于开发、维护和优化的优势:高可扩展性、实时查询、支持多语言、自动故障转移、监控和管理工具等等。

2、使用场景

  • 全文搜索
  • 实时数据分析
  • 日志分析
  • 企业信息发现
  • 数据挖掘与探索
  • 网站搜索和统计

3、基本知识

  • elasticsearch的基本操作
  • 增删改查(Create, Retrieve, Update, Delete)操作的实现。
  • 数据类型的映射
  • elasticsearch会自动将任意数据类型映射到一个适合的内部数据类型,但是我们也可以手动指定不同字段的数据映射。
  • 索引和分析器
  • 在elasticsearch中,我们需要进行数据索引和分析操作,以便更快速、准确地进行数据查询。
  • 倒排索引
  • elasticsearch的核心功能在于倒排索引,这种数据结构能够帮助我们快速地进行全文搜索操作,同时还支持对文本的分词、过滤、改变权重等操作。

4、中文文档和官网链接

中文文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

官网:https://www.elastic.co/

5、增删改查(php代码)

//增
$params = ['index' => 'my_index','body' => ['my_field' => 'my_value','my_second_field' => 'my_second_value']
];
$response = $client->index($params);// 删
$params = ['index' => 'my_index','id' => 'my_id'
];
$response = $client->delete($params);// 改
$params = ['index' => 'my_index','id' => 'my_id','body' => ['doc' => ['my_field' => 'my_updated_value']]
];
$response = $client->update($params);// 查
$params = ['index' => 'my_index','body' => ['query' => ['match' => ['my_field' => 'my_value']]]
];
$response = $client->search($params);

6、基本查询

  • 全文搜索
  • match查询、multi_match查询等。
  • 精确匹配
  • term查询、terms查询等。
  • 范围匹配
  • range查询、geo_distance查询等。
  • 多重查询
  • bool查询、 const_score查询等。

7、HTTP操作

7.1 索引操作

7.1.1 创建索引

对比关系型数据库,创建索引就等同于创建数据库。

(1)创建索引

在 Postman 中,向 ES 服务器发 PUT 请求 :192.168.241.102:9200/start

请求后,服务器返回响应

{"acknowledged"【响应结果】: true, # true 操作成功"shards_acknowledged"【分片结果】: true, # 分片操作成功"index"【索引名称】: "shopping"
}
  • 创建索引库的分片数默认 1 片,在 7.0.0 之前的 Elasticsearch 版本中,默认 5 片。

(2)查看所有索引

在 Postman 中,向 ES 服务器发 GET 请求 :192.168.241.102:9200/_cat/indices?v

  • _cat表示查看
  • indices 表示索引

请求后,服务器返回响应

health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   start MECTRqmrS4WGt87pgua8SA   1   1          0            0       225b           225b
  • health :当前服务器健康状态: green**(集群完整) yellow(单点正常、集群不完整) red(单点不正常)。
  • status :索引打开、关闭状态。
  • index :索引名
  • uuid:索引统一编号。
  • pri :主分片数量。
  • rep:副本数量。
  • docs.count:可用文档数量。
  • docs.deleted:文档删除状态(逻辑删除)。
  • store.size :主分片和副分片整体占空间大小。
  • pri.store.size :主分片占空间大小。

(3)查看单个索引

在 Postman 中,向 ES 服务器发 GET 请求 :192.168.241.102:9200/start

请求后,服务器返回响应

{"start": {  // 索引名"aliases": {}, // 别名"mappings": {}, // 映射"settings": { // 设置"index": { // 设置-索引"routing": { "allocation": {"include": {"_tier_preference": "data_content"}}},"number_of_shards": "1", // 设置 - 索引 - 主分片数量"provided_name": "start", // 设置 - 索引 - 名称"creation_date": "1704071863227", // 创建日期"number_of_replicas": "1",  // 设置 - 索引 - 副分片数量"uuid": "MECTRqmrS4WGt87pgua8SA", // 设置 - 索引 - 唯一标识"version": { // 设置 - 索引 - 版本"created": "8020099"}}}}
}

(4)删除索引

在 Postman 中,向 ES 服务器发 DELETE 请求 :192.168.241.102:9200/start

请求后,服务器返回响应

{"acknowledged": true
}

重新访问索引时,服务器返回响应:索引不存在

7.2 文档操作

7.2.1 创建文档

索引已经创建好了,接下来来创建文档,并添加数据。这里的文档可以类比为关系型数

据库中的表数据,添加的数据格式为 JSON 格式。

在 Postman 中,向 ES 服务器发 POST 请求 :http://192.168.241.102:9200/start/_doc

请求体内容为:

{"title":"羽毛球拍","brand":"李宁","color":"银色","price":"2999"
}

请求后,服务器返回响应

{"_index": "start", // 索引"_id": "JpLLxIwBtU7A05AkWzsQ", // 唯一标识 (这种请求方式是随机生成,也可以在url后面加自定义标识)"_version": 1, // 版本"result": "created", // 表示创建成功"_shards": { // 分片"total": 2, // 总数"successful": 1, // 成功"failed": 0 // 失败},"_seq_no": 0,"_primary_term": 1
}
  • 此处发送请求的方式必须为 POST,不能是 PUT,否则会发生错误。
  • 如果增加数据时明确数据主键,那么请求方式也可以为 PUT。
  • 自定义标识:http://192.168.241.102:9200/start/_doc/1
7.2.2 查看文档

查看文档时,需要指明文档的唯一性标识,类似于 MySQL 中数据的主键查询。

在 Postman 中,向 ES 服务器发 GET 请求 :http://192.168.241.102:9200/start**/_doc/**JpLLxIwBtU7A05AkWzsQ

请求后,服务器返回响应

{"_index": "start", // 索引"_id": "JpLLxIwBtU7A05AkWzsQ", // 标识"_version": 2,"_seq_no": 1,"_primary_term": 1,"found": true, //查询结果:true标识找到,false表示未找到"_source": { // 文档源信息"title": "羽毛球拍","brand": "李宁","color": "银色","price": "2999"}
}
7.2.3 修改文档

和新增文档一样,输入相同的 URL 地址请求,如果请求体变化,会将原有的数据内容覆盖

在 Postman 中,向 ES 服务器发 POST 请求 :http://192.168.241.102:9200/start/_doc/JpLLxIwBtU7A05AkWzsQ

请求体内容为

{"title":"羽毛球拍","brand":"李宁","color":"白色","price":"2999"
}

修改成功后,服务器响应结果

{"_index": "start","_id": "JpLLxIwBtU7A05AkWzsQ","_version": 3, // 版本"result": "updated", // 结果“updated表示数据被更新"_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 3,"_primary_term": 1
}
7.2.4 修改字段

修改数据时,也可以只修改某一给条数据的局部信息

在 Postman 中,向 ES 服务器发 POST 请求 :http://192.168.241.102:9200/start/_update/JpLLxIwBtU7A05AkWzsQ

请求体内容为

{ "doc": {"price":3999.00} 
}

修改成功后,服务器响应结果

{"_index": "start","_id": "JpLLxIwBtU7A05AkWzsQ","_version": 4,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 4,"_primary_term": 1
}

根据唯一性标识,查询文档数据,文档数据已经更新。

7.2.5 删除文档

删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)。

在 Postman 中,向 ES 服务器发 DELETE 请求 :http://192.168.241.102:9200/start/_doc/JpLLxIwBtU7A05AkWzsQ

删除成功,服务器响应结果

{"_index": "start","_id": "JpLLxIwBtU7A05AkWzsQ","_version": 5, // 版本(对数据的操作都会更新版本)"result": "deleted", // 结果 deleted表示数据被标记为删除"_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 5,"_primary_term": 1
}
  • 删除后再查询当前文档信息会返回一个json中字段found的值为false。
  • 如果删除一个并不存在的文档会返回一个json中字段result的值为not_found。
7.2.6 条件删除文档

一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数

据进行删除。

向 ES 服务器发 POST 请求 :http://192.168.241.102:9200/start/_delete_by_query

请求体内容为:

{"query":{"match":{"price":3999.00}}
}

删除成功后,服务器响应结果:

{"took": 16,  // 耗时"timed_out": false, // 是否超时"total": 2, // 总数"deleted": 2, // 删除数量"batches": 1,"version_conflicts": 0,"noops": 0,"retries": {"bulk": 0,"search": 0},"throttled_millis": 0,"requests_per_second": -1.0,"throttled_until_millis": 0,"failures": []
}

7.3 映射操作

有了索引库,等于有了数据库中的 database。

接下来就需要建索引库(index)中的映射了,类似于数据库(database)中的表结构(table)。

创建数据库表需要设置字段名称,类型,长度,约束等;索引库也一样,需要知道这个类型

下有哪些字段,每个字段有哪些约束信息,这就叫做映射(mapping)。

(1)创建映射

在 Postman 中,向 ES 服务器发 PUT 请求 :http://192.168.241.102:9200/student**/_mapping**

请求体内容为

{"properties": {"name":{"type": "text","index": true},"sex":{"type": "text","index": false},"age":{"type": "long","index": false}}
}

服务器响应结果

{"acknowledged": true
}

映射数据说明:

  • 字段名:任意填写,下面指定许多属性,例如:title、subtitle、images、price

  • type:类型,Elasticsearch 中支持的数据类型非常丰富,以下几个关键的:

    • String 类型,又分两种:
      • text:可分词
      • keyword:不可分词,数据会作为完整字段进行匹配
    • Numerical:数值类型,分两类
      • 基本数据类型:long、integer、short、byte、double、float、half_float
      • 浮点数的高精度类型:scaled_float
    • Date:日期类型
    • Array:数组类型
    • Object:对象
  • index:是否索引,默认为 true,也就是说你不进行任何配置,所有字段都会被索引。

    true:字段会被索引,则可以用来进行搜索

    false:字段不会被索引,不能用来搜索

  • store:是否将数据进行独立存储,默认为 false

    原始的文本会存储在_source 里面,默认情况下其他提取出来的字段都不是独立存储

    的,是从_source 里面提取出来的。当然你也可以独立的存储某个字段,只要设置

    “store”: true 即可,获取独立存储的字段要比从_source 中解析快得多,但是也会占用

    更多的空间,所以要根据实际业务需求来设置。

  • analyzer:分词器。

(2)查看映射

在 Postman 中,向 ES 服务器发 GET 请求 :http://192.168.241.102:9200/student**/_mapping**

服务器响应结果如下:

{"start": {"mappings": {"properties": {"age": {"type": "long","index": false},"brand": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"color": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"name": {"type": "text"},"price": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"sex": {"type": "text","index": false},"title": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}}}}}
}

(3)索引映射关联

在 Postman 中,向 ES 服务器发 PUT 请求 :http://192.168.241.102:9200/student

请求体:

{"settings": {},"mappings": {"properties": {
"name":{"type": "text","index": true},
"sex":{"type": "text","index": false
},
"age":{"type": "long","index": false
}}}
}

服务器响应结果如下:

{"acknowledged": true,"shards_acknowledged": true,"index": "student"
}

7.4 高级查询

Elasticsearch 提供了基于 JSON 提供完整的查询 DSL 来定义查询。

(1)查询所有文档

在 Postman 中,向 ES 服务器发 GET 请求 :http://192.168.241.102:9200/start/_search

请求体:

{"query": {"match_all": {}}
}
  • “query”:这里的 query 代表一个查询对象,里面可以有不同的查询属性
  • “match_all”:查询类型,例如:match_all(代表查询所有), match,term , range 等等
  • {查询条件}:查询条件会根据类型的不同,写法也有差异

返回结果:

{"took": 2, // 查询花费时间,单位毫秒"timed_out": false, // 是否超时"_shards": {// 分片信息"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": { // 搜索命中结果"total": {"value": 3,"relation": "eq" // 计数规则},"max_score": 1.0,"hits": // 命中结果集合{"_index": "start","_id": "1","_score": 1.0,"_source": {"title": "羽毛球拍","brand": "李宁","color": "银色","price": "2999"}},{"_index": "start","_id": "2","_score": 1.0,"_source": {"title": "羽毛球拍","brand": "尤尼克斯","color": "红色","price": "2999"}},{"_index": "start","_id": "3","_score": 1.0,"_source": {"title": "羽毛球拍","brand": "尤尼克斯","color": "白色","price": "2999"}}]}
}

(2) 匹配查询

match 匹配类型查询,会把查询条件进行分词,然后进行查询,多个词条之间是 or 的关系

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"match": {"brand": "尤尼克斯"}}
}

(3)字段匹配查询

multi_match 与 match 类似,不同的是它可以在多个字段中查询。

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"multi_match": {"query": "尤尼克斯","fields": ["brand","title"]}}
}

服务器响应结果:

{"took": 6,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 2,"relation": "eq"},"max_score": 1.0109437,"hits": [{"_index": "start","_id": "2","_score": 1.0109437,"_source": {"title": "羽毛球拍","brand": "尤尼克斯","color": "红色","price": "2999"}},{"_index": "start","_id": "3","_score": 1.0109437,"_source": {"title": "羽毛球拍","brand": "尤尼克斯","color": "白色","price": "2999"}}]}
}

(4) 关键字精确查询

term 查询,精确的关键词匹配查询,不对查询条件进行分词。

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"term": {"brand.keyword": "尤尼克斯"}
}
}

match是全文搜索,用于查询字段类型为text的字段,match进行搜索的时候,会先进行分词拆分,拆完后,再来匹配;而term是精确查询,也就是完全匹配,通常用于对keyword和有精确值的字段进行查询,搜索前不会再对搜索词进行分词拆解。
(5)多关键字精确查询

terms 查询和 term 查询一样,但它允许你指定多值进行匹配。

如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件,类似于 mysql 的 in

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"terms": {"brand.keyword":  ["尤尼克斯","李宁"]}
}
}

(6)指定查询字段

默认情况下,Elasticsearch 在搜索的结果中,会把文档中保存在_source 的所有字段都返回。

如果我们只想获取其中的部分字段,我们可以添加_source 的过滤

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"_source": ["title","color"], "query": {"terms": {"color.keyword": ["白色"]}}
}

(7)过滤字段

也可以通过:

  • includes:来指定想要显示的字段
  • excludes:来指定不想要显示的字段

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"_source": {"includes": ["title","brand","color"]}, "query": {"terms": {"color.keyword": ["白色"]}}
}

(8)组合查询

bool把各种其它查询通过must(必须 )、must_not(必须不)、should(应该)的方

式进行组合

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"bool": {"must": [{"match": {"brand.keyword": "尤尼克斯"}}],"must_not": [{"match": {"color.keyword": "红色"}}],"should": [{"match": {"price.keyword": "2999"}}]}}
}

(9)范围查询

range 查询找出那些落在指定区间内的数字或者时间。range 查询允许以下字符

操作符说明
gt大于>
gte大于等于>=
lt小于<
lte小于等于<=

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

请求体

{"query": {"range": {"price": {"gte": 300,"lte": 3500}}}
}

(10)模糊查询

返回包含与搜索字词相似的字词的文档。

编辑距离是将一个术语转换为另一个术语所需的一个字符更改的次数。这些更改可以包括:

  • 更改字符(box → fox)
  • 删除字符(black → lack)
  • 插入字符(sic → sick)
  • 转置两个相邻字符(act → cat)

为了找到相似的术语,fuzzy 查询会在指定的编辑距离内创建一组搜索词的所有可能的变体

或扩展。然后查询返回每个扩展的完全匹配。

通过 fuzziness 修改编辑距离。一般使用默认值 AUTO,根据术语的长度生成编辑距离。

在 Postman 中,向 ES 服务器发 GET 请求 :http://192.168.241.102:9200/start/_search

请求体:

{"query": {"fuzzy": {"color.keyword": "白色"}}}

(11)单字段排序

sort 可以让我们按照不同的字段进行排序,并且通过 order 指定排序的方式。desc 降序,asc

升序。

在 Postman 中,向 ES 服务器发 GET 请求 :http://192.168.241.102:9200/start/_search

{"query": {"match": {"title":"羽毛球拍"}},"sort": [{"price": {"order":"desc"}}]
}

(12)多字段排序

假定我们想要结合使用 age 和 _score 进行查询,并且匹配的结果首先按照年龄排序,然后

按照相关性得分排序 。

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"match_all": {}},"sort": [{"age": {"order": "desc"}},{"_score":{"order": "desc"}}]
}

(13)高亮查询

在进行关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮。

Elasticsearch 可以对查询内容中的关键字部分,进行标签和样式(高亮)的设置。

在使用 match 查询的同时,加上一个 highlight 属性:

  • pre_tags:前置标签

  • post_tags:后置标签

  • fields:需要高亮的字段

  • title:这里声明 title 字段需要高亮,后面可以为这个字段设置特有配置,也可以空

    在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

请求体:

{"query": {"match": {"brand": "尤尼克斯"}},"highlight": {"pre_tags": "<font color='red'>","post_tags": "</font>","fields": {"name": {}}}
}

(14)分页查询

from:当前页的起始索引,默认从 0 开始。 from = (pageNum - 1) * size

size:每页显示多少条

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

{"query": {"match_all": {}},"sort": [{"age": {"order": "desc"}}],"from": 0,"size": 2
}

(15) 聚合查询

聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,当然还有很

多其他的聚合,例如取最大值、平均值等等。

  • 对某个字段取最大值 max

在 Postman 中,向 ES 服务器发 GET 请求http://192.168.241.102:9200/start/_search

请求体:

{"aggs":{"max_age":{"max":{"field":"age"}}},"size":0
}
  • 对某个字段取最小值 min(类似上面的)
  • 对某个字段求和 sum
  • 对某个字段取平均值 avg
  • 对某个字段的值进行去重之后再取总数(cardinality)
  • Stats 聚合
    • stats 聚合,对某个字段一次性返回 count,max,min,avg 和 sum 五个指标

(16) 桶聚合查询

桶聚和相当于 sql 中的 group by 语句

  • terms 聚合,分组统计

请求体

{"aggs":{"age_groupby":{"terms":{"field":"age"}}},"size":0
}

在这里插入图片描述
                      您的支持是我创作的无限动力

在这里插入图片描述
                      希望我能为您的未来尽绵薄之力

在这里插入图片描述
                      如有错误,谢谢指正;若有收获,谢谢赞美

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

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

相关文章

MySQL-数据库概述

数据库相关概念&#xff1a; 数据库(DateBase)简称DB,就是一个存储数据的仓库&#xff0c;数据有组织的进行存储。 数据库分为关系型数据库简称RDBMS和非关系型数据库 关系型数据库简称RDBMS:建立在关系模型的基础上&#xff0c;由多张相互连接的二维表组成的数据库.简单来说…

音频播放软件Foobar2000 mac特点介绍

Foobar2000 mac是一款高度可定制的音频播放器&#xff0c;适用于Windows平台。它支持各种音频格式&#xff0c;包括MP3、FLAC、AAC、WMA等&#xff0c;同时也支持各种音频插件和效果器&#xff0c;可以提供更好的音质和用户体验。 Foobar2000 mac软件特点 1. 高度可定制&#…

洛谷——P1983 [NOIP2013 普及组] 车站分级(拓扑排序、c++)

文章目录 一、题目[NOIP2013 普及组] 车站分级题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 二、题解基本思路&#xff1a;代码 一、题目 [NOIP2013 普及组] 车站分级 题目背景 NOIP2013 普及组 T4 题目描述 一条单…

免费的GPT4来了,你还不知道吗?

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

Maven(mvn)的学习下载和配置

文章目录 Maven&#xff08;mvn&#xff09;1.Maven 是什么&#xff1f;2.Maven做什么&#xff1f;2.1传统方式对项目的管理2.2Maven对jar包的管理 3.Maven怎么学3.1Maven如何创建项目3.2Maven的下载与配置3.3Maven的项目结构3.4Maven依赖的引入3.5Maven依赖的剔除3.6Maven依赖…

2023 hnust 湖南科技大学 大四上 计算机图形图像技术 课程 期末考试 复习资料

计算机图形图像技术复习资料 前言 改编自&#xff1a;https://blog.csdn.net/Liu_Xin233/article/details/135232531★重点&#xff0c;※补充github 考试题型 简述题&#xff08;10分4题&#xff0c;共40分&#xff09; 第1章的基本内容三维观察流水线中的基本概念与理解三…

【面试高频算法解析】算法练习6 广度优先搜索

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

【Python机器学习】k近邻——模型复杂度与泛化能力的关系

以某数据进行研究&#xff0c;先将数据集分为训练集和测试集&#xff0c;然后用不同的邻居数对训练集合测试集的新能进行评估&#xff1a; from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.neighbors imp…

日程安排小程序实战教程

日常中我们经常有一些事情需要提醒自己&#xff0c;使用日历的形式比较符合实际的使用习惯。本篇我们就利用微搭低代码工具带着大家开发一款日程安排的小程序。 1 创建数据源 登录微搭低代码控制台&#xff0c;打开数据模型&#xff0c;点击创建 输入数据源的名称日程安排 …

记录第一次在GitHub上面提交Issue

第一次在GitHub上面提交Issue&#xff0c;记录一下。 对着源码调了好久才发现&#xff0c;问题并不在程序而在模型&#xff08;虽然只是一个很小的问题&#xff0c;但是能够解决问题&#xff0c;并且做出了自己的一点小小贡献&#xff0c;还是很开心。嘻嘻&#xff0c;发博客记…

BART论文解读:BERT和GPT结合起来会发生什么?

BART:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension 主要工作 提出了BART (Bidirectional and Auto-Regressive Transformers)&#xff0c; 是一种用于自然语言生成、翻译和理解的序列到序列的预训练方法。它…

stable diffusion 基础教程-提示词之光的用法

基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,Negative prompt: EasyNegative,badhandv4,nsfw,lowres,bad anatomy,bad hands,text…

【DevOps-07-2】Sonarqube基本使用

一、简要说明 Sonar Qube的使用方式很多&#xff0c;Maven可以整合&#xff0c;也可以采用sonar-scanner的方式&#xff0c;再查看Sonar Qube的检测效果 Sonarqube集成在Maven实现代码检测使用sonar-scanner客户端的方式 二、Sonarqube管理后台安装中文插件 1、登录Sonarqube管…

数据结构和算法-插入排序(算法效率 折半优化 顺序表与链表插入排序 代码实现)

文章目录 插入排序算法实现算法效率分析优化-折半插入排序代码实现对链表进行插入排序小结 插入排序 首先49当作第一个已经排好序得元素&#xff0c;将第二个元素与前面得元素对比&#xff0c;发现小于49&#xff0c;于是49移动位置 此时将65与之前元素对比&#xff0c;发现其…

C语言编译器(C语言编程软件)完全攻略(第二部分:与编译器相关的几个知识点)

介绍常用C语言编译器的安装、配置和使用。 二、与编译器相关的几个知识点 上节我们介绍了编译器和 IDE 的概念&#xff0c;大家肯定希望赶紧实践一下&#xff0c;用 IDE 真正地运行一段C语言代码来看看效果&#xff0c;这样能够更快地获得成就感。 但是&#xff0c;使用 IDE …

Linux第20步_在虚拟机上安装“Visual Studio Code”

1、双击windows系统桌面上的“FileZilla Client.exe”&#xff0c;打开FTP客户端&#xff0c;点击03软件下的Visual Studio Code&#xff0c;发现code_1.50.1-1602600906_amd64。 2、点击“文件”&#xff0c;然后点击“站点管理器”&#xff0c;见下图操作&#xff1a; 3、点…

vr体验馆用什么软件计时计费,如遇到停电软件程序如何恢复时间

vr体验馆用什么软件计时计费&#xff0c;如遇到停电软件程序如何恢复时间 一、软件程序问答 如下图&#xff0c;软件以 佳易王vr体验馆计时计费软件V17.9为例说明 1、软件如何计时间&#xff1f; 点击相应编号的开始计时按钮即可 2、遇到停电再打开软件时间可以恢复吗&…

在 Oracle 数据库表中加载多个数据文件

在本文中&#xff0c;我将展示 SQL 加载器 Unix 脚本实用程序的强大功能&#xff0c;其中 SQL 加载器可以使用自动 shell 脚本加载多个数据文件。这在处理大量数据以及需要将数据从一个系统移动到另一个系统时非常有用。 它适合涉及大量历史数据的迁移项目。那么就不可能为每…

自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程

大家好,我是微学AI,今天给大家介绍一下自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程。在大模型ChatGPT发布之前,NLP领域是BERT,T5模型为主导,T5(Text-to-Text Transfer Transformer)是一种由Google Brain团队在2019年提出的自然…

大数据概念:数据网格和DataOps

数据网格&#xff08;Data Mesh&#xff09; 一种新型的数据架构模式&#xff0c;旨在解决传统数据架构中存在的一些问题&#xff0c;例如数据孤岛、数据冗余、数据安全等。数据网格将数据作为一种服务&#xff0c;通过在分布式环境中提供数据服务&#xff0c;实现数据的共享和…