You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch Java客户端8.x版本:如何指定检索返回字段?

Elasticsearch 8.x Java客户端指定检索字段的实现方法

如果是使用8.x版本的旧版High Level REST Client(兼容7.x,8.x中仍可使用),你原来的代码可以直接复用,因为SearchSourceBuilder的fetchSource方法签名没有变化:

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.fetchSource(new String[] {"A", "B"}, null);

如果是使用8.x推荐的新版Elasticsearch Java Client(基于Jakarta REST Client,包路径为co.elastic.clients),则需要通过source()方法配置字段过滤,实现仅获取指定字段:

// 链式调用配置
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.source(sourceConfig -> 
    sourceConfig.includes("A", "B") // 指定要包含的字段
);

// 更简洁的写法
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
    .source(s -> s.includes("A", "B"));

如果后续需要排除某些字段,只需在source()配置中加入excludes()方法即可:

searchSourceBuilder.source(s -> s
    .includes("A", "B")
    .excludes("C", "D")
);

内容的提问来源于stack exchange,提问作者SPao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:31:10