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

Posted doudoutj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第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

以上是关于第130天学习打卡(ElasticSearch Rest风格说明 索引 文档 )的主要内容,如果未能解决你的问题,请参考以下文章

第132天学习打卡(ElasticSearch 仿京东搜索 )

第128天学习打卡(ElasticSearch 初识elasticreach 及安装)

第129天学习打卡(Elasticsearch kibana安装 ES核心概念 IK分词器插件)

第131天学习打卡(ElastiSearch 集成SpringBoot)

深度学习----------打卡第13天

深度学习----------打卡第8天