Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java高级Rest客户端进行聚合_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

使用Java高级Rest客户端进行聚合

使用Java高级Rest客户端进行聚合,java,elasticsearch,Java,elasticsearch,编辑:我正在使用弹性搜索7.3.0 我尝试使用聚合和子聚合进行查询,但是SearchResponse中没有子聚合 作为调试的一部分,我在单元测试中运行了查询,复制了查询,并使用postman手动运行了查询。在这里,响应正是我所期望的,但是由于某种原因,在我的java代码中,缺少了部分 SearchRequest=newsearchrequest(“索引”); SearchSourceBuidler search=新的SearchSourceBuilder(); SortBuilder sortB

编辑:我正在使用弹性搜索7.3.0

我尝试使用聚合和子聚合进行查询,但是SearchResponse中没有子聚合

作为调试的一部分,我在单元测试中运行了查询,复制了查询,并使用postman手动运行了查询。在这里,响应正是我所期望的,但是由于某种原因,在我的java代码中,缺少了部分

SearchRequest=newsearchrequest(“索引”);
SearchSourceBuidler search=新的SearchSourceBuilder();
SortBuilder sortByDate=SortBuilders
.fieldSort(“日期”)
.订单(分类说明);
//获取每个存储桶的最新结果
TopHitsAggregationBuilder最新结果=聚合生成器
.topHits(“最新”)
.sort(sortByDate)
.fetchSource(“*”,“”)
.尺寸(1);
//每项服务合计
TermsAggregationBuilder perService=聚合生成器
.条款(“服务”)
.field(“service.service\u id”)
.次聚集(最新结果);
搜索聚合(perService);
搜索。大小(1);
请求。来源(搜索);
SearchResponse=client.search(request,RequestOptions.DEFAULT);
以下是生成的请求:

{
  "size": 0,
  "aggregations": {
    "services": {
      "terms": {
        "field": "service.service_id",
        "size": 10,
        "min_doc_count": 1,
        "shard_min_doc_count": 0,
        "show_term_doc_count_error": false,
        "order": [
          {
            "_count": "desc"
          },
          {
            "_key": "asc"
          }
        ]
      },
      "aggregations": {
        "latest": {
          "top_hits": {
            "from": 0,
            "size": 1,
            "version": false,
            "seq_no_primary_term": false,
            "explain": false,
            "_source": {
              "includes": [
                "*"
              ],
              "excludes": [
                ""
              ]
            },
            "sort": [
              {
                "date": {
                  "order": "desc"
                }
              }
            ]
          }
        }
      }
    }
  }
}
在我的代码中,响应是

{
  ...
  "aggregations": {
    "sterms#services": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": []
    }
  }
}
如果手动运行相同的查询,则

{
  ...
  "aggregations": {
        "services": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": [
                {
                    "key": "09045f59-3709-4769-8c92-d611f773a401",
                    "doc_count": 2,
                    "latest": {
                        "hits": {
                            "total": {
                                "value": 2,
                                "relation": "eq"
                            },
                            "max_score": null,
                            "hits": [ ... ]

你能显示生成的查询吗?@Val我用完整的请求编辑了这个问题。