ElasticSearch之BoolQueryBuilder使用
ElasticSearch之BoolQueryBuilder使用 点击上方“IT那活儿 ”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!! 一 ES查询方式 ElasticSearch使用的频率是越来越高,其中关于es查询的方式也是各式各样,最近发现了一种比较好用的es查询条件buider:BoolQuer
来源: https://www.ucloud.cn/yun/129159.html 作者: IT那活儿 发布日期: 发布于2023-01-11 13:19
ElasticSearch之BoolQueryBuilder使用
点击上方“IT那活儿**”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!**
一
ES查询方式
ElasticSearch使用的频率是越来越高,其中关于es查询的方式也是各式各样,最近发现了一种比较好用的es查询条件buider:BoolQueryBuilder。接下来分享一下使用过程。
二
引入pom文件
我使用的是elasticSearch7x,在pom文件中引入以下jar包,完美搭配。
<dependency> <groupId>org.elasticsearch.clientgroupId> <artifactId>elasticsearch-rest-high-level-clientartifactId> <version>7.10.2version> <exclusions> <exclusion> <artifactId>elasticsearchartifactId> <groupId>org.elasticsearchgroupId> exclusion> <exclusion> <groupId>org.elasticsearch.clientgroupId> <artifactId>elasticsearch-rest-clientartifactId> exclusion> exclusions>dependency><dependency> <groupId>org.elasticsearchgroupId> <artifactId>elasticsearchartifactId> <version>7.10.2version> dependency><dependency> <groupId>org.apache.logging.log4jgroupId> <artifactId>log4j-coreartifactId> <version>2.18.0version>dependency><dependency> <groupId>org.apache.logging.log4jgroupId> <artifactId>log4j-apiartifactId> <version>2.18.0version>dependency><dependency> <groupId>org.elasticsearch.clientgroupId> <artifactId>elasticsearch-rest-clientartifactId> <version>7.10.2version>dependency><dependency> <groupId>com.google.code.gsongroupId> <artifactId>gsonartifactId> <version>2.9.0version>dependency>
三
使用示例
Es client配置类:

Yml文件配置:
# elasticsearchspring:elasticsearch.: jest: proxy: host: 192.168.X.XX port: 9200
配置完成之后,我们接下来正式使用BoolQueryBuilder,使用之前先介绍几个查询方法:
-
精确查找
boolQueryBuilder.must(QueryBuilders.termQuery("demo","demo"));
-
模糊匹配
boolQueryBuilder.must(QueryBuilders.wildcardQuery("name", String.format("*%s*", "")));
-
范围查询boolQueryBuilder.must(QueryBuilders.rangeQuery("startTime").gte(startTime)
接下来上一段我根据时间范围分页查询的代码:


**这里需要注意一个点:**在使用BoolQueryBuilder构建完查询条件,通过SourceBuilder转换成es查询语句时需要加上分页参数,不然查询结果默认只返回10条。
BoolQueryBuilder构建查询条件的方式还是很多的,这里就不一一举例了。这种查询方式摆脱了传统写es查询语句烦恼,代码简洁,可塑性更高。

本文作者:段席超(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
