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);
相关推荐
爱笑的眼睛114 分钟前
PyTorch Lightning:重新定义深度学习工程实践
java·人工智能·python·ai
Kevinyu_17 分钟前
责任链模式
java·hadoop·责任链模式
明洞日记21 分钟前
【设计模式手册012】责任链模式 - 请求处理的流水线艺术
java·设计模式·责任链模式
q***071425 分钟前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
TDengine (老段)25 分钟前
TDengine 转换函数 TO_JSON 用户手册
android·大数据·数据库·json·时序数据库·tdengine·涛思数据
雨中飘荡的记忆36 分钟前
Spring Alibaba AI 实战指南
java·ai编程
冰封剑心38 分钟前
MiniCPM-V-2_6 (4-bit 量化)使用
java·前端·数据库
mqiqe39 分钟前
【Spring AI MCP】四、MCP 服务端
java·人工智能·spring
l***749444 分钟前
springboot与springcloud对应版本
java·spring boot·spring cloud
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 Java实现的暴力递归版本
java·数据结构·算法