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);
相关推荐
likuolei1 小时前
Eclipse 快捷键
java·ide·eclipse
一只会写代码的猫1 小时前
可持续发展中的绿色科技:推动未来的环保创新
大数据·人工智能
沧海寄馀生2 小时前
Apache Hadoop生态组件部署分享-Hadoop
大数据·hadoop·分布式·apache
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于Hadoop的豆瓣电影数据分析系统设计与实现为例,包含答辩的问题和答案
大数据·hadoop·分布式
原神启动13 小时前
云计算大数据——Nginx入门篇( Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装)
大数据·http·云计算
哈茶真的c3 小时前
【书籍心得】左耳听风:传奇程序员练级攻略
java·c语言·python·go
喝养乐多长不高3 小时前
JAVA微服务脚手架项目详解(三)
java·大数据·微服务·文件·地图·oss
万邦科技Lafite3 小时前
1688图片搜索商品API接口(item_search_img)使用指南
java·前端·数据库·开放api·电商开放平台
落落落sss3 小时前
java实现排序
java·数据结构·算法
north_eagle3 小时前
MySQL 业务数据,报表方案
大数据·数据库