我正在使用带有开玩笑的 Elasticsearch (作为Java客户端)。
我需要嵌套文档中的某些字段,并且由于无法将嵌套字段成对出现,因此需要'_source'来获取它们。

这是在ES查询[Link]中获取它们的先前问题,并且效果很好。

但不能将其查询转换为开玩笑的代码。
下面是我的尝试。

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);

10-08 13:02