elasticsearch - 多字段聚合——elasticsearch
问题描述
如何在 elasticsearch 中使用多重聚合。我的代码适用于单个聚合,但我想添加另一个聚合。我为此使用了另一个 aggs,但它解析了一个异常。
{ "aggs": {
"_figures": {
"terms": {
"field": "id"
},
"aggs": {
"field1": {
"stats": {
"field": "field1"
},
"field2":{
"stats":{
"field":"field2"
}
}
}
}
}
解决方案
这现在对我有用。使用下面的代码,我可以使用多个聚合
{"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();
推荐阅读
- windows - ipython-“无法从'prompt_toolkit.shortcuts'导入名称'create_prompt_application'
- excel - 过滤后如何查找范围内的行数
- python - 如何在随机列表中查找连续元素的列表,其中结果列表的数字不应大于给定数字
- mysql - Kafka 连接 MySQL 到 ES
- java - Eclipse Marketplace - UML 设计器 - 安装错误
- java - 原因:java.io.IOException: CreateProcess error=2, 系统找不到指定的文件
- javascript - 反应获取的数据未按预期呈现
- uwp - 如何在 uwp 上获取商店附加产品的购买状态
- javascript - Rails:如何在点击时注入表单信息?
- amazon-web-services - Lambda 的 AWS 免费套餐定价