ElasticSearch:查询操作合集

devtools/2024/9/24 6:27:08/

先看下我的数据:
在这里插入图片描述

1、查询所有文档:

GET /cartest/_search

或者

GET /cartest/_search
{"query": {"match_all": {}}
}

2、匹配查询:

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

GET /cartest/_search
{"query": {"match": {"name": "风云"}}
}

在这里插入图片描述

3、字段匹配查询:

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

在这里插入图片描述

4、关键字精准查询:

这个term查询不对查询条件进行分词,
要是text文本类型就会出错,keyword可以进行此类查询

这里我们查 name:风云 就什么都没查到
在这里插入图片描述
向 cartest 中再加一个keyword类型的class字段

PUT /cartest/_mapping
{"properties": {"class":{"type": "keyword","index": true}} 
}

在这里插入图片描述
添加一条数据

POST /cartest/_doc
{"name": "wang","page": "cn","say": "欢迎","time": "2020-12-11","class": "box"
}

在这里插入图片描述
我们再次查询:

GET /cartest/_search
{"query": {"term": {"class": {"value": "box"}}}
}

在这里插入图片描述

5、多关键字查询:

terms 查询和term 查询一样,但它允许你指定多值进行匹配。
如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件,类似于 mysql 的 in
当然,一定要记得查询的字段为关键字keyword类型,不然查不到内容

GET /cartest/_search
{"query": {"terms": {"class": ["box", "box-1"]}}
}

在这里插入图片描述

6、组合查询:

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

在这里插入图片描述

7、范围查询:

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

查询 num 100 - 150之间的数据

GET /cartest/_search
{"query": {"range": {"num": {"gte": 100,"lte": 150}}}
}

在这里插入图片描述
查询 04 - 06号之间的数据
在这里插入图片描述

8、分页查询+排序:

也可设置多字段排序,主次为代码顺序

GET /cartest/_search
{"query": {"match_all": {}},"sort": [{"num": {"order": "desc"}}],"from": 0,"size": 3
}

在这里插入图片描述
当然也可以按时间排序
在这里插入图片描述
9、查询需要的字段

GET /cartest/_search
{"_source": ["name", "time", "num"],"query": {"match_all": {}},"sort": [{"time": {"order": "desc"}}],"from": 0,"size": 3
}

在这里插入图片描述
10、过滤查询:

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

只显示 name time 字段
在这里插入图片描述
不显示 name time 字段
在这里插入图片描述

11、聚合查询:

聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,当然还有很
多其他的聚合,例如取最大值、平均值等等。

获取 num 最大值,size是 hits中数值的数量

GET /cartest/_search
{"aggs": {"max_age": {"max": {"field": "num"}}},"size": 0
}

在这里插入图片描述
平均值:
在这里插入图片描述


http://www.ppmy.cn/devtools/9601.html

相关文章

Web3钱包开发获取测试币-Base Sepolia(二)

Web3钱包开发获取测试币-Base Sepolia(二) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b0c0ac86b04a496087471388532bc54a.png) 基于上篇 Web3钱包开发获取测试币-Polygon Mumbai(一) &#xff1a;https://suwu150.blog.csdn.net/article/details/137949473 我…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用CFMIME Encoder方法进行图像压缩保存(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用CFMIME Encoder方法进行图像压缩保存&#xff08;C&#xff09; Baumer工业相机Baumer工业相机通过NEOSDK进行图像压缩的技术背景代码分析第一步&#xff1a;先引用对应的NET框架的DLL文件第二步&#xff1a;在回调函数里进行…

spi 收发流程

patch日期 收发流程的重大修改&#xff0c;来源于2012年的如下补丁 内核提交收发流程的patch spi: create a message queueing infrastructure - kernel/git/stable/linux.git - Linux kernel stable tree 源代码路径及功能 源码作用\drivers\spi\spi.cspi 通用接口&#x…

YOLOv8 测试 5-2:Linux 中 Dockerfile 部署 YOLOv8 项目一键运行,Python 封装 API 接口测试

一、前言 记录时间 [2024-4-15] 系列文章简摘&#xff1a; Docker 学习笔记&#xff08;二&#xff09;&#xff1a;在 Linux 中部署 Docker&#xff08;Centos7 下安装 docker、环境配置&#xff0c;以及镜像简单使用&#xff09; API 接口简单使用&#xff08;二&#xff09;…

前端js控制元素移动

背景 页面中有多个表格&#xff0c;每个表格中均有一从右到左匀速移动的元素&#xff0c;随着元素移动需要在表格中增减数据&#xff0c;由于使用css3动画无法捕捉元素移动位置&#xff0c;所以这里采用js控制dom的写法 解决办法 最终代码放在文章的最后&#xff0c;各位看官…

后端获取请求体Body,将请求体进行解密放回Request请求,并能通过@RequestBody获取

目前系统发送的post和put请求都是没有加密数据。客户需要将请求体加密。而系统已经基本开发完成&#xff0c;不可能一个一个去修改发送的请求。就需要在发送请求时候在拦截器中将body进行加密。并且在后端进行请求过滤解密&#xff0c;并且能通过RequestBody继续获取对象。 1.…

在PostgreSQL中如何实现递归查询,例如使用WITH RECURSIVE构建层次结构数据?

文章目录 解决方案使用WITH RECURSIVE进行递归查询示例代码 总结 在PostgreSQL中&#xff0c;递归查询是一种非常强大的工具&#xff0c;它可以用来查询具有层次结构或树形结构的数据。例如&#xff0c;你可能会在员工-经理关系、目录结构或组织结构图中遇到这样的数据。为了处…

JWT原理

为什么会有JWT的出现&#xff1f; 首先不得不提到一个知识叫做跨域身份验证&#xff0c;JWT的出现就是为了更好的解决这个问题&#xff0c;但是在没有JWT的时候&#xff0c;我们一般怎么做呢&#xff1f;一般使用Cookie和Session&#xff0c;流程大体如下所示&#xff1a; 用…