您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过spring数据从elasticsearch获得一个字段

通过spring数据从elasticsearch获得一个字段

您需要混合使用源过滤(用于不 重字段)和响应过滤(用于不 重字段)。但是,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);
Java 2022/1/1 18:14:38 有580人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶