ES常见查询总结
目录
- 1:查询总数
- 2:查询所有数据
- 3:查询指定条数
- 4:根据ID查询
- 5:一个查询字符串搜索
- 6:match搜索
- 7:term搜索
- 8:bool搜索
- 9:must多条件匹配查询
- 10:Should满足一个条件查询
- 11: must_not必须不匹配查询
- 12:多个字段查询内容
- 13:一个字段查询多个内容
- 14:通配符和正则匹配
- 15:前缀查询
- 16:短语匹配
- 17:范围查询
- 18:字段存在查询
1:查询总数
GET demo_person/_count
{ "query": {"match_all": {}}
}
上述用sql表示:
SELECT COUNT(*) FROM demo_person
2:查询所有数据
GET demo_person/_search
{ "query": {"match_all": {}}
}
上述用sql表示:
SELECT * FROM demo_person
3:查询指定条数
GET demo_person/_search
{ "size": 20, "query": {"match_all": {}}
}
上述用sql表示:
SELECT * FROM demo_person LIMIT 20
4:根据ID查询
GET /demo_person/_doc/1?pretty
上述用sql表示:
SELECT * FROM demo_person WHERE _id = '1'
5:一个查询字符串搜索
GET /demo_person/_search?q=last_name:Smith
上述用sql表示:
SELECT * FROM demo_person WHERE last_name = 'Smith'
6:match搜索
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 的文档,
特点先分词,再拿词去匹配倒排索引
GET /demo_person/_search
{"query" : {"match" : {"last_name" : "Smith"}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name ='Smith'
7:term搜索
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段精确匹配值为 “Smith” 的文档。term:不分词直接匹配词条
GET /demo_person/_search
{"query": {"term": {"last_name": {"value": "Smith"}}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name = 'Smith'
8:bool搜索
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 且 age 大于等于 30 的文档。
must: 完全匹配条件 相当于sql中的and
should: 至少满足一个条件 相当于sql中的 or
must_not: 文档必须不匹配条件 相当于sql中的!=
GET /demo_person/_search
{"query": {"bool": {"must": [{"match": {"last_name": "Smith"}}],"filter": [{"range": {"age": {"gte": 30}}}]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name = 'Smith' AND age >= 30
9:must多条件匹配查询
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 且 age 等于 32 的文档。
GET /demo_person/_search
{"query": {"bool": {"must": [{"match": {"last_name": "Smith"}},{"match": {"age": 32}}]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name = 'Smith' AND age = 32
10:Should满足一个条件查询
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段包含 “Fir” 或 age 等于 32 的文档。
GET /demo_person/_search
{"query": {"bool": {"should": [{"match": {"last_name": "Fir"}},{"match": {"age": 32}}]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name = 'Fir' OR age = 32
11: must_not必须不匹配查询
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 字段不包含 “Fir” 且 age 不等于 32 的文档
GET /demo_person/_search
{"query": {"bool": {"must_not": [{"match": {"last_name": "Fir"}},{"match": {"age": 32}}]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name != 'Fir' AND age != 32
12:多个字段查询内容
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 last_name 和 about 字段包含 “collect” 或 “rock” 的文档。
GET /demo_person/_search
{"query": {"multi_match": {"query": "collect rock","fields": ["last_name","about"]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name LIKE '%collect%' OR about LIKE '%collect%' OR last_name LIKE '%rock%' OR about LIKE '%rock%'
13:一个字段查询多个内容
GET /demo_person/_search
{"query": {"terms": {"about": ["rock","hehe" ]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE about IN ('rock', 'hehe')
14:通配符和正则匹配
GET /demo_person/_search
{"query": {"bool": {"filter": [{"wildcard":{"last_name":"*mi*"}}]}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name LIKE '%mi%'
15:前缀查询
GET /demo_person/_search
{"query": {"prefix": {"last_name": {"value": "Smi"}}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE last_name LIKE 'Smi%'
16:短语匹配
这是一个 Elasticsearch 查询语句,用于在索引为 demo_person 中查询 about 字段包含短语 “rock climbing” 的文档。
GET /demo_person/_search
{"query" : {"match_phrase" : {"about" : "rock climbing"}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE about LIKE '%rock climbing%'
17:范围查询
GET demo_person/_search
{ "query": {"range": {"age": {"gte": 30,"lt": 35}}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE age >= 30 AND age < 35
18:字段存在查询
GET /demo_person/_search
{"query": {"exists": {"field": "age"}}
}
上述用sql表示:
SELECT * FROM demo_person WHERE age IS NOT NULL
相关文章:
ES常见查询总结
目录 1:查询总数2:查询所有数据3:查询指定条数4:根据ID查询5:一个查询字符串搜索6:match搜索7:term搜索8:bool搜索9:must多条件匹配查询10:Should满足一个条件查询11: must_not必须不匹配查询12:多个字段查询内容13:一个字段查询多个内容14:通配符和正则匹配15:前缀查询16:短语…...
Spring Boot Docker Compose 支持中文文档
本文为官方文档直译版本。原文链接 Spring Boot Docker Compose 支持中文文档 引言服务连接自定义镜像跳过特定的容器使用特定Compose文件等待容器就绪控制 Docker Compose 的生命周期激活 Docker Compose 配置文件 引言 Docker Compose 是一种流行的技术,可用于为…...
智慧城市/一网统管建设:人员危险行为检测算法,为城市安全保驾护航
随着人们压力的不断增加,经常会看见在日常生活中由于小摩擦造成的大事故。如何在事故发生时进行及时告警,又如何在事故发生后进行证据搜索与事件溯源?旭帆科技智能视频监控人员危险行为/事件检测算法可以给出答案。 全程监控,有源…...
C语言:求和1+1/2-1/3+1/4-1/5+……-1/99+1/100
#include<stdio.h> int main() {int i 0;double sum 0.0;int flag 1;for (i 1;i < 100;i){sum 1.0 / i * flag;flag -flag;}printf("sum%lf\n", sum);return 0; }...
学习什么知识不会过时
近况💁🏻 最近这段时间,我真的很糟糕。工作中满负荷做需求,闲了就想玩游戏放松,业余搞些东西的时间很少。本来就有些焦虑,这种状态下更是有些 suffering。究其原因,都是因为部门转换的问题。 一…...
C# WPF上位机开发(ExtendedWPFToolkit扩展包使用)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 虽然个人人为当前的c# wpf内容已经足够多,但是肯定还是有很多个性化的需求没有满足。比如说不够好看,比如说动画效果不好&a…...
【IOS开发】传感器 SensorKit
资源 官方文档 https://developer.apple.com/search/?qmotion%20graph&typeDocumentation SensorKit 使应用程序能够访问选定的原始数据或系统从传感器处理的指标。 步骤信息加速度计或旋转速率数据用户手腕上手表的配置物理环境中的环境光有关用户日常通勤或旅行的详细…...
【C++】封装:练习案例-点和圆的关系
练习案例:点和圆的关系 设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 思路: 1)创建点类point.h和point.cpp 2)创建圆类circle.h和circle…...
【vue】正则表达式限制input的输入:
文章目录 1、只能输入大小写字母、数字、下划线:/[^\w_]/g2、只能输入小写字母、数字、下划线:/[^a-z0-9_]/g3、只能输入数字和点:/[^\d.]/g4、只能输入小写字母、数字、下划线:/[^\u4e00-\u9fa5]/g5、只能输入数字:/\…...
异步导入中使用SecurityUtils.getSubject().getPrincipal()获取LoginUser对象导致的缓存删除失败问题
结论 SecurityUtils.getSubject().getPrincipal()实际用的也是ThreadLocal,而ThreadLocal和线程绑定,异步会导致存数据丢失,注意! 业务背景 最近,系统偶尔会出现excel导入成功,但系统却提示存在进行中的…...
大数据机器学习深度解读决策树算法:技术全解与案例实战
大数据机器学习深度解读决策树算法:技术全解与案例实战 本文深入探讨了机器学习中的决策树算法,从基础概念到高级研究进展,再到实战案例应用,全面解析了决策树的理论及其在现实世界问题中的实际效能。通过技术细节和案例实践&…...
【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb融合使用教程
#【开源Mongdb驱动】SpringBootMybatisMongdb无缝融合使用教程 介绍 本文介绍一款基于JAVA开源的mongodb jdbc驱动为基础的无缝与springbootmybatis融合使用案例 mongodb JDBC 使用案例 https://blog.csdn.net/gongbing798930123/article/details/135002530 《基于开源的JA…...
freeRTOS使用
创建第一个FreeRTOS程序 1、官网源码下载 (1)进入FreeRTOS官网FreeRTOS professional services for application and RTOS development and consulting. FreeRTOS is an Open Source Code RTOS (2)点击下载FreeRTOS 2、处理目录 &…...
基于vue的线上点餐系统论文
基于vue的线上点餐系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了线上点餐系统的开发全过程。通过分析线上点餐系统管理的不足,创建了一个计算机管理线上点餐系统的方案。文章介绍了线上点餐…...
【Windows】windows11右键默认显示更多选项的办法
Windows11系统的右键菜单显示,需要多点一次“显示更多选项”才能看到所有菜单内容,按下面步骤简单设置一下就能恢复成Windows经典的右键菜单显示。 1. 2.输入命令【reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a…...
推荐使用过很好用的api,含免费次数
IP归属地-IPv4城市级:根据IP地址查询归属地信息,支持到城市级,包含国家、省、市、和运营商等信息。IP归属地-IPv6城市级:根据IP地址(IPv6版本)查询归属地信息,支持到中国大陆地区(不…...
QT最大线程并发
声明一个处理函数;int timeTask(); 头文件: #include <QtConcurrent> #include <QFuture> 并发处理改函数的任务,直到处理完成: QFuture<int> ft QtConcurrent::run(this, &ch72_concurrent::timeTask);while (!f…...
在金属/绝缘体/p-GaN栅极高电子迁移率晶体管中同时实现大的栅压摆幅和增强的阈值电压稳定性
标题:Simultaneously Achieving Large Gate Swing and Enhanced Threshold Voltage Stability in Metal/Insulator/p-GaN Gate HEMT (IEDM2023) 摘要 摘要:对于增强型GaN功率晶体管的发展,栅压摆幅和阈值电压稳定性通常是互相排斥的。本文展…...
Redis第1讲——入门简介
Java并发编程的总结和学习算是告一段落了,这段时间思来想去,还是决定把Redis再巩固和学习一下。毕竟Redis不论是在面试还是实际应用中都是极其重要的,在面试中诸如Redis的缓存问题、热key、大key、过期策略、持久化机制等;还有在实…...
数据科学知识库
我的博客是一个技术分享平台,涵盖了机器学习、数据可视化、大数据分析、数学统计学、推荐算法、Linux命令及环境搭建,以及Kafka、Flask、FastAPI、Docker等组件的使用教程。 在这个信息时代,数据已经成为了一种新的资源,而机…...
102. 在控制平面主机名更改后恢复 Rancher 配置的 RKE2 集群
Environment 环境 Rancher provisioned RKE2 downstream cluster control plane node hostname changed, without removing the node from the cluster. Rancher 配置了 RKE2 下游集群控制平面节点的主机名更改,但未将该节点从集群中移除。 Procedure 程序It is …...
实战应用:基于快马平台从零到一构建功能完备的openclaw101风格项目平台
今天想和大家分享一个实战经验:如何从零开始构建一个功能完备的开源项目托管平台。类似openclaw101这样的网站,其实用现代开发工具和云平台可以快速实现。下面我就把整个搭建过程拆解成几个关键环节,希望能给想做类似项目的朋友一些参考。 项…...
ModTheSpire模组加载器全攻略:解锁杀戮尖塔无限可能
ModTheSpire模组加载器全攻略:解锁杀戮尖塔无限可能 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire 副标题:从零开始的模组探索之旅——让你的游戏体验突破边界…...
FastAPI + SQLite:从基础CRUD到安全并发的实战指南
核心摘要本文将带你超越FastAPI SQLite的基础CRUD搭建,聚焦于安全防护(认证、授权、输入验证)与并发处理(数据库连接池、异步优化)两大实战痛点。你会获得一套可直接复用的项目骨架,并理解其背后的设计逻辑…...
从零开始:Java使用通用物体识别-ResNet18镜像实现图像分类
从零开始:Java使用通用物体识别-ResNet18镜像实现图像分类 你是否想过,用Java写几行代码,就能让程序看懂一张图片里有什么?过去,这可能需要搭建复杂的Python环境、学习深度学习框架、处理繁琐的模型部署。但现在&…...
保姆级教程:用LongCat动物百变秀,快速给猫狗加帽子、换造型
保姆级教程:用LongCat动物百变秀,快速给猫狗加帽子、换造型 1. 为什么选择动物百变秀? 给宠物照片添加创意元素一直是许多人的需求,但传统方法要么需要专业PS技能,要么效果生硬不自然。LongCat动物百变秀解决了这个痛…...
AI集成开发工程师的技术实践与转型之路
第一章:技术架构演进与AI融合趋势 1.1 传统开发范式的演进 现代软件开发正经历从单一业务系统向智能化业务系统的转型。传统的.NET技术栈作为企业级应用开发的基石,其技术架构也在不断演进: // 典型的三层架构示例 public class BusinessLogic {private readonly IDataAc…...
Peroxidase-conjugated AffiniPure Goat Anti-Human IgG:高酶活,低背景,精准定量人源抗体
在现代生命科学研究中,抗体是实现特定分子识别和信号检测的核心工具。其中,二抗作为连接一抗与检测系统的重要桥梁,其特异性和灵敏度直接影响实验结果的准确性与可靠性。Peroxidase-conjugated AffiniPure Goat Anti-Human IgG, Fcγ Fragmen…...
免费开源:如何用LiteDB.Studio高效管理嵌入式数据库?
免费开源:如何用LiteDB.Studio高效管理嵌入式数据库? 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 在嵌入式数据库管理领域…...
实战AI情感分析:基于快马平台构建电商评论智能洞察系统
最近在做一个电商数据分析项目时,发现人工处理海量商品评论实在太费时费力。于是尝试用AI情感分析技术来提升效率,在InsCode(快马)平台上快速搭建了一个评论智能分析系统。整个过程比想象中简单很多,分享下具体实现思路: 系统架构…...
