Java 如何获取聚合查询后 top_hits 中的_source 值?求大佬解答

2020-06-30 09:34:49 +08:00
 3country

刚学习 es,这个问题困扰了我很久。。求大佬救救我 查询语句

{
  "query": {
    "term": {
      "memberid": "2136476"
    }
  },
  "aggs": {
    "group": {
      "terms": {
        "field": "meetingid",
        "order": {
          "addtime": "desc"
        }
      },
      "aggs": {
        "result": {
          "top_hits": {
            "_source": [
              "meetingid",
              "memo",
              "addtime"
            ],
            "size": 1,
            "sort": {
              "addtime": {
                "order": "desc"
              }
            }
          }
        },
        "addtime": {
          "max": {
            "field": "addtime"
          }
        }
      }
    }
  }
}

我想要获取_source 的值

最后获取到这一步后卡住了,debug 了一下发现有一个 SearchHit 的值,但我用 getProperty()获取不到,求解答

		SearchResponse response = client.search(request).actionGet();
        Aggregations aggregations = response.getAggregations();
        Aggregation a = aggregations.get("meeting");
        Terms teamSum= (Terms)a;
        for(Terms.Bucket bucket:teamSum.getBuckets()){
            Aggregation aggregation = bucket.getAggregations().get("result");
        }
1427 次点击
所在节点    Elasticsearch
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/685815

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX