ElasticSearch7.2.1的一些学习笔记

基础概念:

索引(index) 相当于数据库中的表,
type这个概念在es7.x中已经被移除,现在默认是_doc,
文档document相当于数据库中的一行数据,
field相当于一行数据中的一列。

数据类型:

String类型的:
keyword:默认是不可分词的
text:可以被分词

数字类型:
byte,short,integer,long ,double,float,
scaled_float 如果要存的数字市65.25,scaled_float 类型会存储成6525,scaled_float 有一个缩放因子,通过指定缩放因子是100,就会得到真正的价格65.25.

使用kibana的请求

在这里插入图片描述
post请求是插入请求的时候,如果/_doc/后面不传入id的话,插入到es中的数据的 _id,就会是自动生成的。
post和put请求都可以更新数据

这里我用name字段进行查询ik_max_word,name字段是text的,分词类型用的是ik_max_word

match匹配查询
在这里插入图片描述

这里只会查询到一条,也就是星期四的那条数据,如果name后面值改为星期,就会查询到四条,也就是星期一到星期四的数据。

term精确查询
在这里插入图片描述
这里也只会查询到一条数据,然后我就想这个和match有什么区别了?

在这里插入图片描述
这里查询的值都是一样的,都是 星四,结果是不一样的,term是查询不到值的,match是查询到一条数据的。
在这里插入图片描述
使用
GET _analyze
{
“analyzer”: “ik_max_word”,
“text”: “星期四”
}
查看了一下分词的结果。
我想term是精确查询,所以是不是只有分词器对field进行分词的时候,分割的结果集中有一个和term中的值全等才会查询到,match匹配查询的话只要包含分词的结果之一,就会查询到。

bool联合查询,通常搭配must,should,must_not,filter
must 相当于sql中的and
在这里插入图片描述

should 相当于sql中的or
在这里插入图片描述

filter则是
在这里插入图片描述
filter和must都是返回结果必须满足其中的条件,区别存在于
在这里插入图片描述
“_source”可以设置返回的字段
在这里插入图片描述
在这里插入图片描述
sort是排序,from是第几页,size每页显示多少个。

条件修改_update_by_query,第一次执行的时候报错,原因是因为等号后面的字符串少加了 ’ 单引号 给括起来。
在这里插入图片描述
还有一种写法,其中elasticsearch painless是es的一个脚本语言
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值