我想在Elasticsearch中搜索用户名。为此,我想匹配确切的用户名,忽略其大小写,无论是大写还是小写,我只想找到该用户名。我为此使用以下查询:
QueryBuilder queryBuilder = QueryBuilders.termQuery("user_name.keyword", userName);
NativeSearchQuery build = new NativeSearchQueryBuilder().withQuery(queryBuilder).build();
List<Company> companies = elasticsearchTemplate.queryForList(build, User.class);
Run Code Online (Sandbox Code Playgroud)
但它也将单词与大小写精确匹配。例如:如果用户名是“Ram”并且我搜索“ram”,那么它不会返回该名称。如果我搜索“Ram”,那么它就会给我结果。但我希望它只匹配单词而不是单词的大小写。请有人帮我解决这个问题。我搜索了很多但找不到任何解决方案。