当前位置: 首页 > news >正文

4. 条件查询

  首先区分下match,match_phrase,term,  参考:https://zhuanlan.zhihu.com/p/592767668?utm_id=0

1、全量查询+分页+指定source

示例:请求地址为http://127.0.0.1:9200/students/_search,请求体为:

{"query": {"match_all": {}},"from": 0,"size": 2,"_source": ["姓名","年级","班级"],"sort": {"班级": {"order": "desc"}}
}

  1. 请求体中的match_all表示匹配所有
  2. 请求体中from和size用于分页查询,from表示第一个元素的位置(从0开始),size表示要查询的数量。
  3. 请求体中_source是一个列表,指定要查询的列。
  4. 请求体中的sort用于结果排序,order取值asc(升序),desc(降序)
  5. 返回结果中的took表示查询耗时

2. 单条件查询

查询5年级的学生,请求body:

{"query": {"match": {"年级":5}}
}

  1. 请求体中match表示匹配一个条件

3. 多条件查询

3.1 基本多条件查询

3.1.1 多个条件同时匹配

查询5年级2班的学生,请求body:

{"query": {"bool": {"must": [{"match": {"年级": 5}},{"match": {"班级": 2}}]}}
}
  1. bool 表示一个条件,条件为true表示匹配,false表示不匹配,其下可以使用must,should,filter等多个条件。
  2. must可以设置多个条件,是一个数组,表示其下的条件必须全部匹配
  3. 把must改为should,表示其下的条件满足一个即可

3.1.2 满足至少一个条件

查找1班和2班的学生:

{"query": {"bool": {"should": [{"match": {"班级": 1}},{"match": {"班级": 2}}]}}
}

3.1.3 范围查询

   must表示多个条件同时满足,should表示至少匹配一个条件,filter表示过滤查询;范围使用range匹配(和match,match_all相同,指定具体条件)。

例如查询5年级1班和2班的学生:

{"query": {"bool": {"must": [{"match": {"年级": 5}}],"filter": {"range": {"班级": {"gte": 1,"lte": 2}}}}}
}

4. 分组查询(聚合查询)

{"aggs": {"班级分组": {"terms": {"field": "班级"}}}
}

更多的时候,我们只想要分组统计,不需要查询原始数据,可以设置查询size为0

{"aggs": {"班级分组": {"terms": {"field": "班级"}}},"size": 0
}
  1. 请求中的terms表示分组统计,其他的关键字还有:avg(对field指定的字段取平均值)

相关文章:

4. 条件查询

首先区分下match,match_phrase,term, 参考:https://zhuanlan.zhihu.com/p/592767668?utm_id0 1、全量查询分页指定source 示例:请求地址为http://127.0.0.1:9200/students/_search,请求体为: {"query":…...

【VIM】初步认识VIM-2

2-6 Vim 如何搜索替换_哔哩哔哩_bilibili 1-6行将self改成this 精确替换quack单词为交...

《HelloGitHub》第 90 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …...

Apache Hudi初探(五)(与flink的结合)--Flink 中hudi clean操作

背景 本文主要是具体说说Flink中的clean操作的实现 杂说闲谈 在flink中主要是CleanFunction函数: Overridepublic void open(Configuration parameters) throws Exception {super.open(parameters);this.writeClient FlinkWriteClients.createWriteClient(conf,…...

stream对list数据进行多字段去重

方法一&#xff1a; //根据sj和name去重 List<NursingHandover> testList list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getj() ";" o.getName() ";&…...

一种基于体素的射线检测

效果 基于体素的射线检测 一个漏检的射线检测 从起点一直递增指定步长即可得到一个稀疏的检测 bool Raycast(Vector3 from, Vector3 forword, float maxDistance){int loop 6666;Vector3 pos from;Debug.DrawLine(from, from forword * maxDistance, Color.red);while (loo…...

利用Docker安装Protostar

文章目录 一、Protostar介绍二、Ubuntu下安装docker三、安装Protostar 一、Protostar介绍 Protostar是一个免费的Linux镜像演练环境&#xff0c;包含五个系列共23道漏洞分析和利用实战题目。 Protostar的安装有两种方式 第一种是下载镜像并安装虚拟机https://github.com/Exp…...

go基础语法10问

1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素&#xff0c;但对值为 nil 的 map 添加元素&#xff0c;则会造成运行时 panic。 // map 错误示例 func main() {var m map[string]intm["one"] 1 // error: panic: assignment to entry i…...

SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题

title: “SpringCloud SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:5708:00 updateTime: 2021-11-24T10:27:5708:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: …...

vim基本操作

功能&#xff1a; 命令行模式下的文本编辑器。根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。使用方式&#xff1a;vim filename 如果已有该文件&#xff0c;则打开它。 如果没有该文件&#xff0c;则打开个一个新的文件&#xff0c;并命名为filename 模式…...

Drift plus penalty 漂移加惩罚Part1——介绍和工作原理

文章目录 正文Methodology 方法论Origins and applications 起源和应用How it works 它是怎样工作的The stochastic optimization problem 随机优化问题Virtual queues 虚拟队列The drift-plus-penalty expression 漂移加惩罚表达式Drift-plus-penalty algorithmApproximate sc…...

(四)动态阈值分割

文章目录 一、基本概念二、实例解析 一、基本概念 基于局部阈值分割的dyn_threshold()算子&#xff0c;适用于一些无法用单一灰度进行分割的情况&#xff0c;如背景比较复杂&#xff0c;有的部分比前景目标亮&#xff0c;或者有的部分比前景目标暗&#xff1b;又比如前景目标包…...

jvm介绍

1. JVM是什么 JVM是Java Virtual Machine的缩写&#xff0c;即咱们经常提到的Java虚拟机。虚拟机是一种抽象化的计算机&#xff0c;有着自己完善的硬件架构&#xff0c;如处理器、堆栈等&#xff0c;具体有什么咱们不做了解。目前我们只需要知道想要运行Java文件&#xff0c;必…...

数据结构与算法课后题-第三章(顺序队和链队)

#include <iostream> //引入头文件 using namespace std;typedef int Elemtype;#define Maxsize 5 #define ERROR 0 #define OK 1typedef struct {Elemtype data[Maxsize];int front, rear;int tag; }SqQueue;void InitQueue(SqQueue& Q) //初始化队列 {Q.rear …...

SSM - Springboot - MyBatis-Plus 全栈体系(十六)

第三章 MyBatis 三、MyBatis 多表映射 2. 对一映射 2.1 需求说明 根据 ID 查询订单&#xff0c;以及订单关联的用户的信息&#xff01; 2.2 OrderMapper 接口 public interface OrderMapper {Order selectOrderWithCustomer(Integer orderId); }2.3 OrderMapper.xml 配置…...

k8s--storageClass自动创建PV

文章目录 一、storageClass自动创建PV1.1 安装NFS1.2 创建nfs storageClass1.3 测试自动创建pv 一、storageClass自动创建PV 这里使用NFS实现 1.1 安装NFS 安装nfs-server&#xff1a; sh nfs_install.sh /mnt/data03 10.60.41.0/24nfs_install.sh #!/bin/bash### How to i…...

7.3 调用函数

前言&#xff1a; 思维导图&#xff1a; 7.3.1 函数调用的形式 我的笔记&#xff1a; 函数调用的形式 在C语言中&#xff0c;调用函数是一种常见的操作&#xff0c;主要有以下几种调用方式&#xff1a; 1. 函数调用语句 此时&#xff0c;函数调用独立存在&#xff0c;作为…...

如果使用pprof来进行性能的观测和优化

1. 分析性能瓶颈 在开始优化之前&#xff0c;首先需要确定你的程序的性能瓶颈在哪里。使用性能分析工具&#xff08;例如 Go 的内置 pprof 包&#xff09;来检测程序中消耗时间和内存的地方。这可以帮助你确定需要优化的具体部分。 2. 选择适当的数据结构和算法 选择正确的数…...

在移动固态硬盘上安装Ubuntu系统和ROS2

目录 原视频准备烧录 原视频 b站鱼香ros 准备 1.在某宝上买一个usb移动固态硬盘或固态U盘&#xff0c;至少64G 2.下载鱼香ros烧录工具 下载第二个就行了&#xff0c;不然某网盘的速度下载全部要一天 下载后&#xff0c;选择FishROS2OS制作工具压缩包&#xff0c;进行解压…...

【iptables 实战】02 iptables常用命令

一、iptables中基本的命令参数 -P 设置默认策略-F 清空规则链-L 查看规则链-A 在规则链的末尾加入新规则-I num 在规则链的头部加入新规则-D num 删除某一条规则-s 匹配来源地址IP/MASK&#xff0c;加叹号“&#xff01;”表示除这个IP外-d 匹配目标地址-i 网卡名称 匹配从这块…...

为什么Windows用户需要APK安装器?三大场景解决你的跨平台痛点

为什么Windows用户需要APK安装器&#xff1f;三大场景解决你的跨平台痛点 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经遇到过这样的困境&#xff1a;在电…...

OpenClaw CLI:在终端无缝集成AI智能体的MCP服务器部署指南

1. 项目概述&#xff1a;OpenClaw CLI&#xff0c;一个连接终端与智能体的桥梁 如果你和我一样&#xff0c;日常开发工作大部分时间都泡在终端里&#xff0c;同时又对AI智能体&#xff08;Agent&#xff09;的自动化能力垂涎三尺&#xff0c;那么你肯定也遇到过这样的痛点&…...

告别混乱:用SAP STO退货功能(NCR/NLR)清晰管理公司间物料退回

告别混乱&#xff1a;用SAP STO退货功能&#xff08;NCR/NLR&#xff09;清晰管理公司间物料退回 当集团企业发展到多工厂、多法人架构时&#xff0c;物料在组织间的流动管理往往成为供应链的痛点。特别是在退货场景下&#xff0c;手工处理导致的账实不符、责任归属模糊等问题&…...

心灵鸡汤01 - 人生九不争

一、跟父母&#xff0c;不争口舌&#xff1b; 二、跟朋友&#xff0c;不争面子&#xff1b; 三、跟领导&#xff0c;不争高低&#xff1b; 四、跟小人&#xff0c;不争道理&#xff1b; 五、跟伴侣&#xff0c;不争对错&#xff1b; 六、跟亲戚&#xff0c;不争穷富&#xff1b…...

peaqOS 给机器发了一份穆迪式评级,机器经济缺的最后一块零件被补上了

作者&#xff1a;PaperMoon团队 “It’s time for blockchain to live up to its full potential。” 这种句子在 2026 年的 Web3 推文里已经少见了&#xff0c;大部分项目方学会了克制。peaq 这次不克制&#xff0c;而且把"全新资产类别"这种 2017 年级别的措辞重新…...

前端实战:用HTML/CSS/JS打造交互式生日蛋糕网页应用

1. 项目概述&#xff1a;一个用代码烘焙的生日惊喜最近给朋友准备生日礼物&#xff0c;不想再走寻常路&#xff0c;琢磨着送点特别的。作为一个整天和代码打交道的人&#xff0c;我决定用最熟悉的工具——HTML、CSS和JavaScript——亲手“烘焙”一个数字生日蛋糕。这个项目“Re…...

基于AI与胎心监护信号预测胎儿生物年龄:技术实现与临床价值

1. 项目概述&#xff1a;从胎心监护到胎儿“数字时钟” 在产科临床和围产期医学领域&#xff0c;评估胎儿宫内健康状况&#xff0c;尤其是其发育成熟度&#xff0c;一直是一项核心且充满挑战的任务。传统的评估方法&#xff0c;如通过超声测量胎儿双顶径、股骨长等生物参数来估…...

【OpenClaw从入门到精通】第78篇:OpenClaw安全防护实测——360龙虾保 vs 奇安信安全伴侣全维度对比(2026万字实战版)

摘要:2026年OpenClaw爆发式普及,全球公网暴露实例超58万个,7个高危CVE漏洞接踵而至,企业私自部署的“裸奔”智能体成为内网安全重灾区。在此背景下,360与奇安信两大安全巨头同步推出专属防护方案——360龙虾保与奇安信安全伴侣。本文从技术架构、核心能力、部署实操、场景…...

告别手动建造:TEdit免费地图编辑器如何10倍提升泰拉瑞亚创作效率

告别手动建造&#xff1a;TEdit免费地图编辑器如何10倍提升泰拉瑞亚创作效率 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also l…...

5个简单步骤:用DXVK在Linux上流畅运行Windows游戏

5个简单步骤&#xff1a;用DXVK在Linux上流畅运行Windows游戏 【免费下载链接】dxvk Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 你是否曾经想在Linux系统上玩Windows游戏&#xff0c;却被…...