当我们使用弹性上的聚集特性时,我们得到了我们聚集回来的字段的值,但我们也希望得到该字段的描述。我们必须使用sector.id,就像api的其他部分稍后使用它一样。例如:我们的数据如下:
[{
"id":"123"
"sectors":[{
"id":"sector-1",
"name":"Automotive"
}]
},
{
"id":"123"
"sectors":[{
"id":"sector-2",
"name":"Biology"
}]
}]当我们通过sectors.id进行聚合时,我们的响应如下:
"aggregations": {
"sector": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "sector-2",
"doc_count": 19672
},
{
"key": "sector-1",
"doc_count": 11699
}]
}
}是否有任何方法可以获得sectors.name以及结果中的关键?
发布于 2017-03-06 11:22:38
似乎sectors应该是一个嵌套字段。现在假设扇区名称是唯一的,每个扇区-id。
您可以使用小结来计算出相关的键。
GET _search
{
"size": 0,
"aggs": {
"sectors": {
"nested": {
"path": "sectors"
},
"aggs": {
"sector_id": {
"terms": {
"field": "sectors.id"
},
"aggs": {
"sector_name": {
"terms": {
"field": "sectors.name"
}
}
}
}
}
}
}
}https://stackoverflow.com/questions/42623474
复制相似问题