以下聚合返回的存储桶如我所期望的那样:
{
"size": 0,
"aggs": {
"my_agg": {
"terms": {
"script": {
"inline": "arrayField.innerArrayField.property"
}
}
}
}
此聚合似乎应该返回同一组存储桶,但不返回任何内容:
{
"size": 0,
"aggs": {
"my_agg": {
"terms": {
"field": "arrayField.innerArrayField.property"
}
}
}
}
类型映射的相关部分:
"arrayField": {
"type": "nested",
"properties": {
"innerArrayField": {
"type": "nested",
"properties": {
"property": {
"type": "string"
}
}}
这是怎么回事?
您的映射类型是nested
,因此您也应该首先使用嵌套聚合。脚本不是访问存储在 ES 中的嵌套文档,而是从 JSON 源动态提取数据,这很慢,因为每次点击都必须完成。