我正在使用以下代码通过弹性搜索 java api 进行过滤,如果我使用字符串查询,它可以正常工作并返回结果,但是如果我使用带有空格或大写字母的文本,它不会返回任何数据
如果使用
String query={"bool":{"should":[{"term":{"name":"test"}}]}}
返回数据
如果我使用
String query={"bool":{"should":[{"term":{"name":"test airportone"}}]}}
或者
String query={"bool":{"should":[{"term":{"name":"TEST"}}]}}
不返回数据
String query={"bool":{"should":[{"term":{"name":"test airport one"}}]}}
BoolQueryBuilder bool = new BoolQueryBuilder();
bool.must(new WrapperQueryBuilder(query));
SearchQuery searchQuery = new
NativeSearchQueryBuilder()
.withQuery(bool)
.build();
Page<Asset> asset =
elasticsearchTemplate.queryForPage(searchQuery,Asset.class);
return asset.getContent();