ES的“或“查询

场景:需要查询ES中userId为""或者userId字段不存在的数据

dsl语句:

java 复制代码
{
	"from": 0,
	"size": 30,
	"query": {
		"bool": {
			"should": [{
				"term": {
					"userId": {
						"value": "",
						"boost": 1.0
					}
				}
			},
			{
				"bool": {
					"must_not": [{
						"exists": {
							"field": "userId",
							"boost": 1.0
						}
					}],
					"adjust_pure_negative": true,
					"boost": 1.0
				}
			}],
			"adjust_pure_negative": true,
			"minimum_should_match": "1",
			"boost": 1.0
		}
	},
	"sort": [{
		"eventTime": {
			"order": "desc"
		}
	}]
}

java代码:

java 复制代码
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
queryBuilder.should(new TermQueryBuilder("userId", ""));
queryBuilder.should(new BoolQueryBuilder().mustNot(new ExistsQueryBuilder("userId")));
//should中的条件满足任一条
queryBuilder.minimumShouldMatch(1);
相关推荐
q***44811 分钟前
spring实例化对象的几种方式(使用XML配置文件)
xml·java·spring
q***98523 分钟前
Spring Boot:Java开发的神奇加速器(二)
java·spring boot·后端
x***440111 分钟前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
小蒜学长17 分钟前
基于spring boot的汽车4s店管理系统(代码+数据库+LW)
java·数据库·spring boot·后端·汽车
q***420519 分钟前
Spring Data 什么是Spring Data 理解
java·后端·spring
一 乐19 分钟前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
Percep_gan21 分钟前
解决java.security.InvalidKeyException: Illegal key size
java·开发语言
gAlAxy...33 分钟前
SpringMVC 响应数据和结果视图:从环境搭建到实战全解析
大数据·数据库·mysql
ganqiuye34 分钟前
向ffmpeg官方源码仓库提交patch
大数据·ffmpeg·video-codec
likuolei1 小时前
XQuery 完整语法速查表(2025 最新版,XQuery 3.1)
xml·java·数据库