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);
相关推荐
塔能物联运维1 分钟前
高密度算力时代,热管理的竞争已从“散热”转向“控温”
大数据
Omics Pro2 分钟前
华大等NC|微生物多样性与抗菌物质发现
大数据·人工智能·深度学习·语言模型·excel
2401_8653825017 分钟前
各省政务信息化项目验收材料清单汇总及差异分析
java·开发语言·数据库
京师20万禁军教头26 分钟前
31面向对象(中级)-方法重写/覆盖(override)
java
许彰午31 分钟前
源码全开放,没人看——一个框架作者的真实经历
java·后端
Are_You_Okkk_37 分钟前
非结构化文档破局:BeeParser+PandaWiki赋能车企技术资料规范化管理
大数据·人工智能·开源
SamDeepThinking43 分钟前
写了十几年代码,聊聊什么样的人能做好Java开发
java·后端·程序员
凛_Lin~~1 小时前
安卓实现textview跑马灯效果
android·java
开源盛世!!1 小时前
4.20-4.22
java·服务器·开发语言
京师20万禁军教头1 小时前
28面向对象(中级)-封装
java