使用BoolQueryBuilder查询ElasticSearch
你好,我是本际云服务器推荐网的小编小本本。在ElasticSearch的查询中,我们可以使用各种方式,其中一个比较好用的查询条件构建器是BoolQueryBuilder。下面将介绍如何使用这个构建器。

引入所需的jar包
在使用ElasticSearch7x版本的POM文件中,我们需要引入以下jar包来完美搭配使用:
- org.elasticsearch.client:elasticsearch-rest-high-level-client:7.10.2
- org.elasticsearch:elasticsearch:7.10.2
- org.apache.logging.log4j:log4j-core:2.18.0
- org.apache.logging.log4j:log4j-api:2.18.0
- org.elasticsearch.client:elasticsearch-rest-client:7.10.2
- com.google.code.gson:gson:2.9.0
使用示例
接下来,我们要展示如何使用BoolQueryBuilder查询ElasticSearch。
首先,我们需要在EsClient配置类中进行Yml文件配置。
elasticsearch:
spring:
elasticsearch:
jest:
proxy:
host: 192.168.X.XX
port: 9200
然后,我们介绍几个查询方式示例:
- 精确查找:boolQueryBuilder.must(QueryBuilders.termQuery(“demo”,”demo”));
- 模糊匹配:boolQueryBuilder.must(QueryBuilders.wildcardQuery(“name”,String.format(“*%s*”,””)));
- 范围查询:boolQueryBuilder.must(QueryBuilders.rangeQuery(“startTime”).gte(startTime));
接下来,我们就是根据时间范围进行分页查询。
SearchHits hits = elasticsearchService.getEsResultByQueryBuilder(boolQueryBuilder,"indexName", pageIndex,pageSize); List
需要注意的是,在使用完BoolQueryBuilder构建查询条件后,我们需要通过SourceBuilder将其转换为ElasticSearch查询语句时,要加上分页参数,否则查询结果会默认只返回10条数据。
使用BoolQueryBuilder构建查询条件的方式有很多,以上仅是一些示例。通过这种方式,我们可以摆脱传统方式烦琐的写ElasticSearch查询语句的烦恼,代码也变得简洁,可塑性也更高。
以上就是本次关于BoolQueryBuilder使用的分享,谢谢阅读。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6584.html
