您需要混合使用源过滤(用于不 检索
重字段)和响应过滤(用于不 返回 重字段)。但是,Spring Data ES尚不支持后者(尚未)
对于前者,您可以利用
NativeSearchQueryBuilder并指定一个
FetchSourceFilter只会检索您需要的字段的。Spring
Data ES尚不支持后者。您可以做的是创建另一个名为的字段
firstItem,您将在其中存储第一个元素,
items以便您可以为该查询返回它。
private ElasticsearchTemplate elasticsearchTemplate;String[] includes = new String[]{"name", "firstItem"};SearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(matchAllQuery()) .withSourceFilter(new FetchSourceBuilder(includes, null)) .build();Page<User> userPage = elasticsearchTemplate.queryForPage(searchQuery, User.class);


