在 Elasticsearch 中,嵌套聚合(`nested`aggregation)的语法形式用于对嵌套字段(`nested`fields)进行聚合操作。嵌套字段是 Elasticsearch 中的一种特殊字段类型,用于存储数组中的对象,这些对象需要独立于其父文档进行索引和查询。
以下是嵌套聚合的基本语法形式及其组成部分的详细说明:
基本语法
```json
{
"aggs": {
"<nested_aggregation_name>": {
"nested": {
"path": "<nested_field_path>"
},
"aggs": {
"<sub_aggregation_name>": {
"<sub_aggregation_type>": {
"<sub_aggregation_body>"
}
}
}
}
}
}
```
组成部分
1. `<nested_aggregation_name>`:
• 这是嵌套聚合的名称,由用户自定义,用于在查询结果中标识该聚合。
2. `nested`:
• 这是嵌套聚合的类型标识符,表明这是一个嵌套聚合。
3. `path`:
• 指定嵌套字段的路径。嵌套字段路径是从根文档到嵌套字段的完整路径。例如,如果嵌套字段是`resellers`,则路径为