Elasticsearch-rails中处于同一级别的多个聚合

Mic*_*tor 5 ruby-on-rails elasticsearch elasticsearch-rails

我正在尝试使用elasticsearch-rails和elasticsearch-model gem在ElasticSearch的同一级别上执行多个聚合。

在我生成的查询哈希中,有以下内容-

    def query_hash(params, current_person = nil, manager_id = nil)
      aggs = {}
      aggs[:home_country_id] = {terms: {field: "home_country_id"}}
      aggs[:home_region_id] = {terms: {field: "home_region_id"}}
      {
        sort: [ { created_at: { order: "desc" } }, id: { order: "desc" } ],
        aggs: aggs
      }
    end
Run Code Online (Sandbox Code Playgroud)

我存储在对象es_response中的响应。

当我搜索两个聚合时,我只能在响应中找到最后一个。

es_response.response [“ aggregrations”]仅具有最新聚合对象的响应home_region_id

尽管有很多关于嵌套聚合的信息,但是我在《 ES参考》上找不到太多关于在同一级别上构造多个聚合的文档。

我怎样才能解决这个问题?

我的ES版本是5.1