es 多字段聚合求top

39 阅读1分钟

大家好,咨询一个问题,我现在es数据库里有国家,省份,城市三个字段,我需要求某个搜索条件下,国家-省份-城市top20的结果,我怎样操作呢。

x = s.aggs.bucket('country', 'terms', field='country', size=10)
y = x.bucket('subdivisions', 'terms', field='subdivisions', size=10)
y.bucket('city', 'terms', field='city', size=15)

这样的分层聚合无法满足国家-省份-城市top的需求。 谢谢大家