表示意图的最佳方法似乎是热门匹配:“从每个聚合组中仅选择一个文档”,然后从中提取平台:
aggs: { platforms: { terms: {field: 'platform.id'}, aggs: { platform: {top_hits: {size: 1, _source: {include: ['platform']}}} }}这样,每个被推销的对象将看起来像:
{"key": 7, "doc_count": 529939, "platform": { "hits": { "hits": [{ "_source": { "platform":{"id": 7, "name": "Facebook", "url": "http://facebook.com"} } }] } },}有点过深(与ES一样),但是很干净:
bucket.platform.hits.hits.first._source.platform



