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 设置可能会产生不同情况,看网上好多都是 设置什么。这只提供一个可行的方法。