ElasticSearch语句中must,must_not,should组合关系,作者有验证脚本(ES为8版本,使用Kibana运行语句)
文章目录
- 一、单个使用
- 二、must和must_not组合(A-B)
- 三、must和should组合(A)
- 四、should和must_not组合(A-B)
- 五、must和should和must_not组合(A-C)
- 六、验证脚本,执行之后自行观察结果(price字段用来测试)即可理解
- 查考文档
一、单个使用
- must(且):数组里面的条件都要满足,该条数据才被选择,所有的条件为且的关系
- must_not(或,然后取反):数组里面的条件满足其中一个,该条数据则不被选择
- should(或):数组里面的条件满足其中一个,该条数据被选择
二、must和must_not组合(A-B)
- 满足must的数据减去满足must_not的数据则是最终结果
三、must和should组合(A)
- 满足must的数据
- should用来打分(字段为:_score ),影响返回排序
- 满足should条件的数据分值会更高
四、should和must_not组合(A-B)
- 满足should的数据减去满足must_not的数据则是最终结果
五、must和should和must_not组合(A-C)
- 满足must的数据减去满足must_not的数据则是最终结果
- should用来打分,影响返回排序
- 满足should条件的数据分值会更高
六、验证脚本,执行之后自行观察结果(price字段用来测试)即可理解
- 初始化数据
POST mystore/_bulk
{"index":{"_id":1}}
{"price":10,"productID":"XHDK-A-1293-#fJ3"}
{"index":{"_id":2}}
{"price":20,"productID":"XHDK-A-1293-#f20"}
{"index":{"_id":3}}
{"price":30,"productID":"JODL-X-1937-#pV7"}
{"index":{"_id":4}}
{"price":40,"productID":"QQPX-R-3956-#aD8"}
{"index":{"_id":5}}
{"price":50,"productID":"KDKE-B-9947-#kL5"}
{"index":{"_id":6}}
{"price":60,"productID":"KDKE-B-9947-#kL5"}
{"index":{"_id":7}}
{"price":70,"productID":"JODL-X-1937-#pV7"}
{"index":{"_id":8}}
{"price":80,"productID":"JODL-X-1937-#pV7"}
- must和must_not组合
GET mystore/_search
{"query": {"bool": {"must": [{"range": {"price": {"gte": 20,"lte": 50}}}],"must_not": [{"match": {"price": "40"}}]}}
}
- must和should组合
GET mystore/_search
{"query": {"bool": {"must": [{"range": {"price": {"gte": 20,"lte": 50}}}],"should": [{"range": {"price": {"gte": 40,"lte": 60}}}]}}
}
- should和must_not组合
GET mystore/_search
{"query": {"bool": {"should": [{"range": {"price": {"gte": 40,"lte": 60}}}],"must_not": [{"match": {"price": "40"}}]}}
}
- must和should和must_not组合
GET mystore/_search
{"query": {"bool": {"must": [{"range": {"price": {"gte": 20,"lte": 50}}}],"should": [{"range": {"price": {"gte": 40,"lte": 60}}}],"must_not": [{"match": {"price": "40"}}]}}
}
查考文档
- must,must_not,should组合关系以及OR和AND
相关文章:
ElasticSearch语句中must,must_not,should组合关系,作者有验证脚本(ES为8版本,使用Kibana运行语句)
文章目录 一、单个使用二、must和must_not组合(A-B)三、must和should组合(A)四、should和must_not组合(A-B)五、must和should和must_not组合(A-C)六、验证脚本,执行之后自…...
SpringCloud Alibaba组件入门全方面汇总(中):服务熔断降级-Sentinel
文章目录 Sentinel常见的容错思路Sentinel流量控制规则sentinel 自定义异常 sentinelresources 注解使用Feign整合Sentinel**面试题:结合Feign后,你在项目中的降级方法中会实现什么样的操作/功能?** Sentinel Sentinel是阿里巴巴开源的分布…...
算法通关村第十关|青铜|快速排序
快速排序的核心框架是“二叉树的前序遍历对撞型双指针”。 快速排序的实现1: public void quickSort(int[] arr, int left, int right) {if (left < right) {// pivot将遍历的范围限制在了pivot之前int pivot arr[right];int i left - 1;for (int j left; j…...
python科研绘图:圆环图
圆环图是一种特殊的图形,它可以显示各个部分与整体之间的关系。圆环图由两个或多个大小不一的饼图叠加而成,中间被挖空,看起来像一个甜甜圈。因此,圆环图也被称为“甜甜圈”图。 与饼图相比,圆环图的空间利用率更高&a…...
【Linux】C文件系统详解(一)——C文件操作
文章目录 文件操作总结预备知识结论: C文件操作回顾语言方案w写入方式a写入方式r只读方式 系统方案但是这个**没有设置权限**,需要这样改: 文件操作总结 1.文件描述符,重定向,缓冲区,语言和系统关于文件的不同的视角的理解 – 都是要让我们深刻理解文件 2.文件系统 3.动静态库 …...
uniapp 实现微信小程序手机号一键登录
app 和 h5 手机号一键登录,参考文档:uni-app官网 以下是uniapp 实现微信小程序手机号一键登录 1、布局 <template><view class"mainContent"><image class"closeImg" click"onCloseClick"src"quic…...
基于 Java 解释一下硬编码和非硬编码?
基于 Java 解释一下硬编码和非硬编码? 文章目录 基于 Java 解释一下硬编码和非硬编码?一、基本说明二、硬编码(Hardcoding)三、非硬编码 一、基本说明 硬编码和非硬编码是指软件开发中配置数据和变量处理方式的概念。 二、硬编码…...
【机器学习7】优化算法
1 有监督学习的损失函数 1.1 分类问题 对二分类问题, Y{1,−1}, 我们希望sign f(xi,θ)yi, 最自然的损失函数是0-1损失, 函数定义特点0-1损失函数非凸、非光滑,很难直接对该函数进行优化Hinge损失函数当fy≥1时&…...
常见的近似算法
前言 最近有个项目要用到近似算法,就到处摸了下,整理了一个小结。 近似算法统计 在Java中,你可以使用各种近似算法来解决不精确但接近于最优解的问题。以下是几种常见的近似算法的实现方法: 贪心算法(Greedy Algori…...
【完整详细】IntelliJ IDEA中使用Docker插件一键部署前后端分离项目
前言:在使用Docker部署我们的前后端分离项目的时候,会涉及到一堆且重复的Docker命令,久而久之就会被这些重复性的操作感到繁琐,本篇博客教学大家如何通过IDEA自带的一款插件就可以实现一键部署前后端分离项目的操作,从头到尾我写的非常详细,大家逐步阅读即可。 博主的其他…...
ubuntu20.04 安装TensorRT,解决依赖问题
1.下载Tensor RT对应的deb包 先要确保cuda和cudnn安装好,https://blog.csdn.net/qq_41246375/article/details/115597025 下载tensor RT,注意版本对应关系 https://developer.nvidia.com/nvidia-tensorrt-8x-download 2.安装 按照官方步骤 https://d…...
你知道如何科学的学习吗?-关于个人成长的思考
背景 最近在翻看自己工作后的笔记,从有道云笔记到印象笔记,到本地笔记,到自己使用github搭建的博客,到语雀笔记,使用了不同的平台工具;零零总总记录了许多学习笔记、个人成长笔记、职业规划等内容。现在看…...
Java学习之路 —— 多线程
文章目录 1. 线程创建方式1.1 继承Thread1.2 声明一个实现Runnable接口的类1.3 利用Callable接口、FutureTask类来实现 2. 线程同步2.1 同步代码块2.2 同步方法2.3 Lock锁 3. 线程同步4. 线程池 1. 线程创建方式 1.1 继承Thread 定义子类,继承Thread,创…...
【云原生-Kurbernetes篇】K8s的存储卷/数据卷+PV与PVC
这是一个目录标题 一、Kurbernetes中的存储卷1.1 为什么需要存储卷?1.2 存储卷概述1.2.1 简介1.2.2 volume字段 1.3 常用的存储卷类型1.3.1 emptyDir(临时存储卷)1.3.2 hostPath(节点存储卷)1.3.3 nfs1.3.4 cephfs 二、…...
二层、三层交换机之间到底有什么区别?
简单地说 二层交换机,没有充当三层网关角色的能力(Capability)。三层交换机,首先也是二层交换机。但是,它有一个额外的能力(Capability),软件配置一下,可以充当三层网关…...
【论文阅读】2736. 最大和查询-2023.11.17
题目: 2736. 最大和查询 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 ,另给你一个下标从 1 开始的二维数组 queries ,其中 queries[i] [xi, yi] 。 对于第 i 个查询,在所有满足 nums1[j] > xi 且 nums2[j]…...
2. zk集群部署
简介 上一篇文章我们已经把环境准备好了,jdk也配置好了,下面我们开始把zk部署起来 hadoop环境准备 创建zk用户 useradd zk -d /home/zk echo "1q1w1e1r" | passwd --stdin zk上传zk包 拷贝zk包到/home/zk目录,这里的zk版本为 3.6.3 scp…...
抖音快手判断性别、年龄自动关注脚本,按键精灵开源代码!
这个是支持抖音和快手两个平台的,可以进入对方主页然后判断对方年龄和性别,符合条件的关注,不符合条件的跳过下一个ID,所以比较精准,当然你可以二次开发加入更多的平台,小红书之类的,仅供学习&a…...
IDEA软件使用步骤
1.IDEA概述 IDEA全称InelliJ IDEA,是用于java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境:把代码编写,编译,执行,调试扽过多种功能综合到一起的开发工具。 下载:https…...
设计模式-11-模板模式
经典的设计模式有23种,但是常用的设计模式一般情况下不会到一半,我们就针对一些常用的设计模式进行一些详细的讲解和分析,方便大家更加容易理解和使用设计模式。 1-什么是模板模式 模板模式,全称是模板方法设计模式,英…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
