Elasticsearch返回嵌套聚合的所有字段



我查询elasticsearch嵌套字段和在资源中只得到嵌套字段类别。此代码适用于未嵌套的字段。

aggs: {
categories: {
nested: {
path: "categories"
},
aggs: {
category_name: {
terms: {
field: "categories.categoryId.keyword",
min_doc_count: 1,
size: 500,
order: {
_count: "desc"
},
},
aggs: {
product: {
top_hits: {
size: 1,
_source: {
include: [
"id", "assets", "categories"
]
}
}
}
}
}
}
}
}

嵌套上下文不能访问父字段。您需要使用reverse_nested聚合。

GET index65/_search
{
"size": 0,
"aggs": {
"categories": {
"nested": {
"path": "categories"
},
"aggs": {
"category_name": {
"terms": {
"field": "categories.categoryId.keyword",
"min_doc_count": 1,
"size": 500,
"order": {
"_count": "desc"
}
},
"aggs": {
"product": {
"reverse_nested": {},
"aggs": {
"NAME": {
"top_hits": {
"size": 1,
"_source": {
"include": [
"id", "assets", "categories"
]
}
}
}
}
}
}
}
}
}
}
}

最新更新