Elasticsearch - 使用 java api 获取源字段数据

Elasticsearch - get source field data with java api

我正在开玩笑地使用弹性搜索(作为 java 客户端)。 我需要嵌套文档中的一些字段,由于无法成对获取嵌套字段,我需要“_source”来获取它们。

这是在 ES 查询中获取它们的上一个问题[],它运行良好。

但无法将其查询转换为笑话代码。 下面是我的尝试。

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query( 
            query
        )
        .fields(      // need _source but no method.
          "oid", 
          "_source.events.activityoid", 
          "_source.events.worktime");

尝试像这样使用 fetchSource()

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
    .query(query)
    .fetchSource(new String[] {
      "oid", 
      "events.activityoid", 
      "events.worktime"
    }, null);