ElasticSearch 使用 BoolQueryBuilder 模糊查询 与 不区分大小写


1 ES  搜索姓名,支持模糊搜索并且不区分大小写

  说明一下版本

spring-boot 2.6.3
elasticsearch 7.15.2

使用客户端为
elasticsearchRestTemplate

使用的构造器为
BoolQueryBuilder queryWrapper = QueryBuilders.boolQuery();




      //模糊搜索+不区分大小写
            boolQuery.must(QueryBuilders.wildcardQuery("s_cst_full_name", ("*"+name.toLowerCase(Locale.ROOT)+"*")));

 

wildcardQuery

es 提供的 模糊搜索方法,使用跟mysql 的 * 通配符类似

name 就是你的参数入参,后面加上   toLowerCase(Locale.ROOT)  就能实现 不区分大小写。

这个不区分大小写,根绝es 设置可能会产生不同情况,看网上好多都是 设置什么。这只提供一个可行的方法。

es