次のコードを使用してエラスティック検索 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();