第130天学习打卡(ElasticSearch Rest风格说明 索引 文档 )
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
基于Rest命令说明:

基础测试
关于索引的基本操作
1.创建索引
PUT /索引名/类型名(未来没有了)/文档id
{请求体}

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

-
那么name这个字段用不用指定类型呢。毕竟关系型数据库需要指定类型!
-
字符串类型
text 、 keyword
-
数值类型
long 、integer 、short 、 byte 、 double、 float 、half float 、scaled float
-
日期类型
date
-
te布尔值类型
boolean
-
二进制类型
binary
.....
4.指定字段的类型

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

5.查看默认的信息


如果自己的文档字段没有指定,那么es就会给我们默认配置字段类型。
扩展:通过命令elasticsearch索引情况!
通过GET _cat/ 可以获得es的当前的很多信息!

曾经的办法:

现在的办法:

删除索引
通过DELETE命令是实现删除,根据你的请求来判断是删除索引还是删除文档记录!
使用RESTFUL风格是ES推荐使用的。

关于文档的基本操作(重点)
基本操作
1.添加数据:
PUT /kuangshen/user/1
{
"name": "狂神说",
"age":23,
"desc": "即使再小的帆也能远航",
"tags": ["技术宅", "温暖", "努力"]
}

2.获取数据 GET

3.更新数据 PUT

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


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


put如果不传递值就会被覆盖, post灵活性更高。
简单搜索
GET kuangshen/user/1
简单的条件查询, 可以根据默认的映射规则,产生基本的查询


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


查询指定的结果:

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

desc降序排序
分页

数据下标还是从0开始的,和学的所有的数据结构是一样的。
布尔值查询
must(相当于mysql中的and),所有的条件都要符合 相当于where id = 1 and name = xxx

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

must_not(not)

过滤器filter
lt :小于 gt:大于

-
gt 大于
-
gte 大于等于
-
lt 小于
-
lte 小于等于

匹配多个条件!

精确查找
term查询是直接通过倒排索引指定的词条进行精确的查找的!
关于分词:
term ,直接查询精确的
match,会使用分词器解析!(先分析文档,然后通过分析的文档进行查询!)
两个类型 text keyword



多个值匹配的精确查询

高亮查询

自定义高亮查询:

这些MySQL也可以做,只是效率更低
-
匹配
-
按照条件匹配
-
精确匹配
-
区间范围匹配
-
匹配字段过滤
-
多条件查询
-
高亮查询
B站学习网址:

浙公网安备 33010602011771号