第130天学习打卡(ElasticSearch Rest风格说明 索引 文档 )

Rest风格说明

一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

基于Rest命令说明:

image-20210518145136545

基础测试

关于索引的基本操作

1.创建索引

 PUT /索引名/类型名(未来没有了)/文档id
 {请求体}

 

image-20210518152947024

 

2.完成了自动增加索引! 数据也添加成功, 这个初期可以把它当做数据库学习。

image-20210518153237299

  1. 那么name这个字段用不用指定类型呢。毕竟关系型数据库需要指定类型!

  • 字符串类型

text 、 keyword

  • 数值类型

long 、integer 、short 、 byte 、 double、 float 、half float 、scaled float

  • 日期类型

date

  • te布尔值类型

boolean

  • 二进制类型

binary

.....

4.指定字段的类型

image-20210518154905780

 

获得这个规则!可以通过GET请求获取具体的信息!

image-20210518155150840

 

5.查看默认的信息

image-20210518155553839

 

image-20210518155709989

 

如果自己的文档字段没有指定,那么es就会给我们默认配置字段类型。

扩展:通过命令elasticsearch索引情况!

通过GET _cat/ 可以获得es的当前的很多信息!

image-20210518160523937

 

修改 提交还是使用PUT即可! 然后覆盖

曾经的办法:

image-20210518160902745

现在的办法:

image-20210518162718073

 

删除索引

通过DELETE命令是实现删除,根据你的请求来判断是删除索引还是删除文档记录!

使用RESTFUL风格是ES推荐使用的。

image-20210518162850017

 

关于文档的基本操作(重点)

基本操作

1.添加数据:

 PUT /kuangshen/user/1
 {
   "name": "狂神说",
   "age":23,
   "desc": "即使再小的帆也能远航",
   "tags": ["技术宅", "温暖", "努力"]
 }

 

image-20210518163836383

 

2.获取数据 GET

image-20210518164429412

 

3.更新数据 PUT

 

image-20210518164647586

 

PUT操作,如果里面的内容不是完整的,那么右边的内容将会在PUT命令执行时置空。

image-20210518165114941

image-20210518165144843

4.POST _update 推荐使用这种更新方式

image-20210518165512455

 

image-20210518165534988

 

put如果不传递值就会被覆盖, post灵活性更高。

 

简单搜索

 GET kuangshen/user/1

简单的条件查询, 可以根据默认的映射规则,产生基本的查询

image-20210518171044137

 

image-20210518171917774

复杂操作搜索 select(排序,分页, 高亮, 模糊查询, 精准查询)

image-20210518181537987

 

 

image-20210518182237081

查询指定的结果:

image-20210518182611613

我们之后使用java操作es,所有的方法和对象就是这里面的key!

排序

 

image-20210518183202645

desc降序排序

分页

image-20210518183715908

数据下标还是从0开始的,和学的所有的数据结构是一样的。

布尔值查询

must(相当于mysql中的and),所有的条件都要符合 相当于where id = 1 and name = xxx

image-20210518184406828

 

should(相当于mysql中的or),所有的条件都要符合 相当于where id = 1 or name = xxx

image-20210518184834735

 

must_not(not)

image-20210518190038309

 

过滤器filter

lt :小于 gt:大于

 

image-20210518190656454

  • gt 大于

  • gte 大于等于

  • lt 小于

  • lte 小于等于

image-20210518191037302

匹配多个条件!

image-20210518191733190

 

精确查找

term查询是直接通过倒排索引指定的词条进行精确的查找的!

关于分词

term ,直接查询精确的

match,会使用分词器解析!(先分析文档,然后通过分析的文档进行查询!)

两个类型 text keyword

image-20210518193402417

 

image-20210518193529952

 

image-20210518194346503

多个值匹配的精确查询

image-20210518195733398

 

高亮查询

 

image-20210518200308959

自定义高亮查询:

image-20210518200709704

 

这些MySQL也可以做,只是效率更低

  • 匹配

  • 按照条件匹配

  • 精确匹配

  • 区间范围匹配

  • 匹配字段过滤

  • 多条件查询

  • 高亮查询

B站学习网址:【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

posted @ 2021-05-18 21:10  豆豆tj  阅读(75)  评论(0)    收藏  举报