微服务 教程
1085个小节阅读:196.7k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
public void searchDocument2() {
// String productName = "elasticsearch";
// String productDesc = "优秀";
String productName = null;
String productDesc = null;
// 1.确定查询方式
BoolQueryBuilder builder = QueryBuilders.boolQuery();
// 如果没有传入参数,查询所有
if (productName == null && productDesc == null) {
MatchAllQueryBuilder matchAllQueryBuilder = QueryBuilders.matchAllQuery();
builder.must(matchAllQueryBuilder);
} else {
if (productName != null && productName.length() > 0) {
MatchQueryBuilder queryBuilder1 = QueryBuilders.matchQuery("productName", productName);
builder.must(queryBuilder1);
}
if (productDesc != null && productDesc.length() > 0) {
MatchQueryBuilder queryBuilder2 = QueryBuilders.matchQuery("productDesc", productDesc);
builder.must(queryBuilder2);
}
}
// 2.构建查询条件
NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(builder).build();
// 3.查询
SearchHits<Product> result = template.search(query, Product.class);
// 4.处理查询结果
for (SearchHit<Product> productSearchHit : result) {
Product product = productSearchHit.getContent();
System.out.println(product);
}
}
1. 在SpringDataES中,使用template工具查询文档,___对象可以拼接多个条件
A BoolQueryBuilder
B MatchAllQueryBuilder
C MatchQueryBuilder
D NativeSearchQuery
1=>A