【问题标题】:Aggregation on multiple fields - elasticsearch多字段聚合——elasticsearch
【发布时间】:2020-02-18 17:27:24
【问题描述】:

如何在 elasticsearch 中使用多重聚合。我的代码适用于单个聚合,但我想添加另一个聚合。我为此使用了另一个 aggs,但它解析了一个异常。

 { "aggs": {
                "_figures": {
                  "terms": {
                    "field": "id"
                  },
                  "aggs": {
                    "field1": {
                      "stats": {
                        "field": "field1"
                      },
                      "field2":{
                        "stats":{
                          "field":"field2"
                        }
                      }
                    }
                  }
                }

【问题讨论】:

  • 你需要把 field2 与 field1 平行 "aggs": { "field1": { "stats": { "field": "field1" } }, "field2": { "stats": { "field": "field2" } } }

标签: elasticsearch elasticsearch-aggregation


【解决方案1】:

现在这对我有用。使用下面的代码,我可以处理多个聚合

 {"aggs": {
        "emp_figures": {
          "terms": {
            "field": "id"
          },
          "aggs": {
            "field1": {
              "stats": {
                "field": "field1"
              }
            },
            "field2":{
                "stats":{
                  "field":"field2"
                }
              },
            "field3":{
                "stats":{
                  "field":"field3"
                }
              }
          }
        }
      }
    }

这也是使用 java 进行多重聚合的方式

 SearchResponse getResponse = 
        client.prepareSearch( ElasticSearchConstants.INDEX ).setTypes( ElasticSearchConstants.TBL)
            .addAggregation( AggregationBuilders.terms( FIGURE)
                                    .field( "id" )
            .subAggregation( AggregationBuilders.stats( "stats" ).field( field1 ) )
            .subAggregation( AggregationBuilders.stats( "stats" ).field( field2) ).size( 100 ) )
                            .setQuery( query )
                            .setFrom( 0 )
                            .execute().actionGet();   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2020-12-07
    • 1970-01-01
    • 2016-11-23
    • 2015-07-30
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多